題 Excel中列中的非交叉值


我有三列值(A,B,C),如下所示。我想在D列中的一個公式將返回列B中未列在A列中的所有值。類似地,我應該為列E寫什麼公式,它將返回列C中不存在於兩列中的所有值A和B?

A   B   C   D   E
1   6   5       
5   7   7       
7   8   11      
10  9   12      
12  10  16      
    15  18      
        19      

換句話說,我希望D列給出:6,8,9,15和E列給出:11,16,18,19。


3
2017-09-20 20:58


起源


歡迎來到超級用戶。我們不是腳本編寫服務。我們希望用戶告訴我們他們到目前為止所嘗試的內容(包括他們正在使用的代碼)以及他們遇到的問題,以便我們可以幫助解決具體問題。只詢問代碼的問題太廣泛而且很可能 擱置或關閉。請閱讀 我怎麼問一個好問題?。 - DavidPostill♦
這個問題是主題 meta.superuser.com/q/10752/468548 - User15
@nixda你現在可以繼續寫下你的答案 - Kevin Panko


答案:


  • D欄: =IF(COUNTIF(A:A,B1)=0,B1,"") »自動填充
  • E欄: =IF(COUNTIF(A:B,C1)=0,C1,"") »自動填充

enter image description here


2
2017-09-22 06:10



好答案。但想知道為什麼 D7 獲得0。 - User15
@ User15:因為,如果公式引用空單元格,則其值為 0 除非你 跳過籃球 避免它。這就是我的答案所說的原因 IF(AND(B1 <> "", …), …, "")。 - Scott
@nixda:你的Column公式 E 可以簡化為 =IF(COUNTIF(A:B,C1)=0,C1,"")。並且,如果您更改Column的公式 D 至 =IF(COUNTIF($A:A,B1)=0,B1,""),然後你可以拖/填 在右邊 和下來。 - Scott
@Scott我添加了它 - nixda


很難一次性完成你所要求的一切。 這樣的事情最好使用“幫助列”完成 保持中間結果。這是一種方法:

  • F1 至 =MAX(IF(B:B <> "", ROW(B:B)+3, 0)), 打字 按Ctrl+轉移+輸入 鍵入公式後。
  • F2 至 =INDEX(F:F, F1, 1)
  • 離開 F3 空白。
  • F4 至 =F3 & IF(AND(B1 <> "", COUNTIF($A:A, B1) = 0), B1 & ", ", "")。 拖動/填充以覆蓋所有 A/B 數據加三行。
  • 選擇列 F 並拖動/填充到Column G
  • 輸入 =LEFT(F2, LEN(F2)-2) 在 D1 並拖動/填充到 E1

1
2017-09-22 04:12



好主意。雖然我認為問題是每個單元格獲得1個值作為nixda的答案而不是所有內容組合成1個單元格。 - User15
事後看來,你可能是對的。問題是,“我希望D欄給出:6,8,9,15和E列給出:11,16,18,19。”,我認為OP意味著“我希望D列到給: 6, 8, 9, 15 和E欄給出: 11, 16, 18, 19。“,但不知道如何進行格式化。也許OP會回來說出他/她真正想要的東西。 (而且,順便說一下,也許“不清楚你在問什麼”是對這個問題的正確傾向。) - Scott
當事情被解釋得如此美好和清晰時,你不能只是說出來 unclear what you’re asking。你需要問 你需要澄清的具體問題。事實上,在這篇文章結束後的3天內,沒有人提到他們有這個問題,我問的是什麼不清楚。 - User15