我可以手動執行此操作,但我確定有一種公式化的方式來執行此操作。
這裏是數據:excel公式:根據另一列的值在一列中查找唯一身份證
Column-A Column-B Column-C
C Y
D
E Y
F
E Y
我想要做的是在2個步驟:
a)選擇在列-A,其中列-B對應的值是「Y」的所有值。
b。)從上面的列A中選擇的數據中,只選擇唯一值並將它們放入列C c)。因此,上述數據的列C中的數據將爲「C」&「E 「
任何指針?
我可以手動執行此操作,但我確定有一種公式化的方式來執行此操作。
這裏是數據:excel公式:根據另一列的值在一列中查找唯一身份證
Column-A Column-B Column-C
C Y
D
E Y
F
E Y
我想要做的是在2個步驟:
a)選擇在列-A,其中列-B對應的值是「Y」的所有值。
b。)從上面的列A中選擇的數據中,只選擇唯一值並將它們放入列C c)。因此,上述數據的列C中的數據將爲「C」&「E 「
任何指針?
這裏有一個選項假設你有Excel 2007中
將這個公式中的C1
=IFERROR(INDEX(A1:A5,MATCH("Y",B1:B5,0)),"")
那麼這一個在C2複製下來
=IFERROR(INDEX(A$1:A$5,MATCH(1,INDEX((B$1:B$5="y")*(COUNTIF(C$1:C1,A$1:A$5)=0),0),0)),"")
你可以這樣做在早期版本中,但它需要一些更長的公式來確保一次val不會獲得錯誤值ID匹配耗盡
說明:
公式1使用MATCH
從A1:A5
找到第一個「Y」的位置B1:B5
,然後INDEX
返回相應的數值。如果您的列是相反的,則可以使用VLOOKUP
,INDEX/MATCH
是執行「左側查找」的標準方式。
式2使用MATCH
找到的第一行,其中2個條件成立的位置,B1:B5
=「y」和A1:A5
<>的值已經找到。已經找到的值在上面的C列中,所以COUNTIF
函數查看上面的單元格,並對上面那個範圍內的列A中的每個值進行計數(當您將公式向下拖動時展開) - 計數爲零意味着值尚未被選中。一旦MATCH
標識行號INDEX
取A列中該行的值。
看起來像它的工作! 8-)謝謝!現在我需要了解你所做的8)。該索引函數對我來說是新的。你介意解釋爲什麼在C2中使用COUNTIF? – PlanetUnknown 2012-03-09 18:47:50
@PlanetUnknown我在回答中加了一個解釋...... – 2012-03-09 19:54:09
您不想使用VBA? – assylias 2012-03-09 16:20:24
不,如果可以用簡單的公式來避免VBA – PlanetUnknown 2012-03-09 18:23:39
如果你不想要VBA,那麼超級用戶是一個更好的地方來問Excel公式問題。 – brettdj 2012-03-10 01:36:24