我可以dynamic地从这个公式中sorting列表,而无需帮助列吗?

我目前有一列数据(命名范围VoyCode_NoBlanks ),从另一列(范围VoyCode_Blanks )合并使用此公式:

 {=IF(ROW()-ROW(VoyCode_NoBlanks)+1>ROWS(VoyCode_Blanks)-COUNTBLANK(VoyCode_Blanks),"",INDIRECT(ADDRESS(SMALL((IF(VoyCode_Blanks<>"",ROW(VoyCode_Blanks),ROW()+ROWS(VoyCode_Blanks))),ROW()-ROW(VoyCode_NoBlanks)+1),COLUMN(VoyCode_Blanks),4)))} 

(感谢@ForwardEd的公式,在dynamic范围再次 – 与文本string )

有什么办法可以修改它来按升序列出这些值,而不仅仅是它们出现的顺序?

我想避免额外的列或行,VBA

 =INDEX($A$2:$A$20, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$20), 0)) 

这是以前公式的arrays版本。 记得用CONTROL + SHIFT + ENTERinput 。 当您在公式栏中看到{}时,您会知道自己做得正确。 您不能手动input。 这可能是单个单元格arrays公式。 意思是你在B2中做到这一点。 然后,将其复制或从B3拖到列表的末尾。

不知道是否需要上面的单元格或不是空白的。 我从这个网站拉了它。

做一点阅读,有潜力的是,前面的规则公式和这个数组公式都可以工作,只要B1中的值不在列表中。