
我的Excel工作簿中有3張工作表,我想將工作表1中的C列與工作表2中的C列進行比較,如果任何地方存在相同的數字,那麼我希望將工作表2中的列G的值放入工作表3上的列G中
答案1
假設您有sheet1:
a b 1
a b 2
a b 3
a b 4
a b 5
和表2:
a b 6 ... x
a b 2 ... gg
a b 7 ... x
a b 5 ... zz
a b 8 ... x
因此,在您想要的sheet3上(有或沒有A..F列)
a b 2 ... gg
a b 5 ... zz
最簡單的解決方案,但需要一些手動操作:
在sheet2中新增一列,使用下列公式(假設標題在第1行)
=IF(ISERROR(MATCH(C2,Sheet1!$C$2:$C$100000,0)),FALSE,TRUE)
在sheet2 中新增一個過濾器並過濾TRUE。複製並貼上到sheet3
僅使用公式(無需手動複製和貼上):
“如果為真則複製”,因為 Excel 中本身不存在公式。它要求帶有公式的單元格可以更改另一個單元格中的值(而不僅僅是其自身的值)。這與電子表格的工作方式相反,會導致各種令人討厭的循環邏輯和緩慢的計算。相反,想像一下您正在將公式輸入到要複製到的儲存格中(Sheet3!G2 ...)。公式可以查看 Sheet2!G 列並參考它的價值(但不是硬拷貝)。
所以,你可以放入 Sheet3!G2:
=IF(ISERROR(MATCH(Sheet2!C2,Sheet1!$C$2:$C$100000,0)),"",Sheet2!G2)
您將獲得比較數據,但也會有許多未發生匹配的空白行。您可以再次添加過濾器來消除空白。
要僅使用公式完全解決此問題,您必須對sheet2中的匹配項進行編號,如下所示:
a b 6 ... x 0
a b 2 ... gg 1
a b 7 ... x 1
a b 5 ... zz 2
a b 8 ... x 2
在 Sheet2 H 欄位中使用此公式,從 H2 開始:
=IF(ISERROR(MATCH(C2,Sheet1!$C$2:$C$100000,0)),IF(ROW() = 2,0,H1+1), IF(ROW() = 2,1,H1+1))
然後使用 Sheet3 G 欄位中的 INDEX、MATCH 和 ROW 函數尋找這些匹配項,從 G2 開始:
=INDEX(Sheet2!$G$2:$G$100000,MATCH(ROW()-1,Sheet2!$H$2:$H$100000,0))