答案1
像這樣的查找函數VLOOKUP()
可用於查找查找值並因此返回一些結果,或找不到它並因此返回#ERROR!顯然,這通常用於“積極”意義上,尋找某些結果,但也可以用於“消極”意義上,不尋找某種結果,而是尋找#ERROR! 。
然後還可以測試#ERROR 是否存在!與ISERROR()
功能。有時IFERROR()
可以使用,但許多情況不適合IFERROR()
的機制,這就是其中之一。ISERROR()
此處將使用更複雜的NOT()
.然後,如果未找到 INSTRUMENT,則IF()
測試將成功,因為它正在尋找此類失敗。在這種情況下,TRUE 結果是尋找儲存格的值。如果測試失敗(INSTRUMENT 存在),則傳回「」。
下面的公式可以做到這一點:
=IF(ISERROR(VLOOKUP(A2:A9,$F$2:$F$5,1,FALSE)),A2:A9,"")
如果您有SPILL
功能,則只有第一個儲存格需要公式。如果沒有,請將其貼到第一個單元格中並使用 {CSE} 執行建立數組的舊方法。
請注意,該公式將在整個輸出範圍內發現結果。要將它們分組,您需要對它們進行排序,將空的放在列表底部,這樣它們就不會影響列表的易用性,也不會影響其外觀,無論哪一個對您來說更重要。
然而,幾乎任何你使用的存在的東西,例如上面公式中的“”,甚至是一個更高的字符,例如UNICODE(160)
一個空格,仍然會排序到列表的開頭。您可以採用多種方法,包括複製,然後貼上為值,然後排序,但要使用公式來完成,這樣您就不需要交互,您可以嘗試如下操作:
=SUBSTITUTE(SORT(IF(ISERROR(VLOOKUP(A2:A9,$F$2:$F$5,1,FALSE)),A2:A9,"ZZZZZZZZZZ")),"ZZZZZZZZZZ","")
您使用的字串應始終排序到列表的末尾。公式中使用“ZZZZZZZZZZ”。然後你SORT()
將所有這些強製到最後,以及你想首先在頂部看到的那些。然後你SUBSTITUTE()
用一個空白的字串,像是“”,所有這些“消失”......當然不是真的,但在外觀上。
(顯然,您需要在您選擇或調整的公式中使用真實的參考。)