同一工作簿中的 Excel 公式,但 3 個工作表需要比較 2 個工作表上的一列,並將第三列中的數字放入第 3 個工作表中

同一工作簿中的 Excel 公式,但 3 個工作表需要比較 2 個工作表上的一列,並將第三列中的數字放入第 3 個工作表中

我的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))

相關內容