我想從列的非空值創建列表。Excel列表從列的非空值
因此,我想將此列表用作其他工作表中的下拉列表。
該列表中的值是動態的,所以我不能在其他地方複製這些值。
當我從列中選擇所有值,然後從中創建列表時,當我將它用作下拉列表時,我也在列表中有空值。
有沒有一種方法,不使用宏,自動刪除列表中的空條目?
我不想從列中刪除空單元格,因爲它是另一個表的一部分。
謝謝。
我想從列的非空值創建列表。Excel列表從列的非空值
因此,我想將此列表用作其他工作表中的下拉列表。
該列表中的值是動態的,所以我不能在其他地方複製這些值。
當我從列中選擇所有值,然後從中創建列表時,當我將它用作下拉列表時,我也在列表中有空值。
有沒有一種方法,不使用宏,自動刪除列表中的空條目?
我不想從列中刪除空單元格,因爲它是另一個表的一部分。
謝謝。
最簡單的方法是在下拉列表中使用另一個(隱藏)列的值。如果定義(動態)命名的源數據要作爲List
範圍,那麼下面的公式應該在細胞B2
進入並複製下來,需要:
=INDEX(List, MATCH(0, IF(MAX((COUNTIF($B$1:B1, List)=0)*((List<>"")*(COUNTIF(List, ">"&List)+1)))=(IF((List<>""), COUNTIF(List, ">"&List)+1, "")), 0, ""), 0))
它甚至會排序列表。
此信息取自以下網站,該網站上有分步說明。
假設您的值在A:A
列中。請用數字1, 2, 3, 4...
列B:B
然後在細胞C1
寫公式和拖下來:
=IFERROR(SMALL($A:$A,$B1),"")
注:這僅適用於數值。
好了一些小的修改後,我設法讓它工作,謝謝。 – Pipala
如果你想要未排序,那就更簡單了= = INDEX($ A $ 2:$ A $ 11,MATCH(0,IF(ISBLANK($ A $ 2:$ A $ 11),1,COUNTIF(B1:$ B $ 1,$ A $ 2:$ A $ 11)),0))'[link](http://www.get-digital-help.com/2009/03/10/how-to-automatically-create-a-unique-list -and-刪除毛坯/) – Profex