【发布时间】:2021-08-03 09:29:49
【问题描述】:
【问题讨论】:
标签: excel excel-formula excel-2010 excel-2007
【问题讨论】:
标签: excel excel-formula excel-2010 excel-2007
试试AGGREGATE()函数。 Excel-2007 没有聚合函数。
=IFERROR(INDEX($A$3:$A$16,AGGREGATE(15,6,(ROW($A$3:$A$16)-ROW($A$2))/(LEFT($B$3:$B$16,1)=C$2),ROW(1:1))),"")
如果您没有Aggregate() 函数,请使用以下数组公式。
=IFERROR(INDEX($A$3:$A$16,SMALL(IF(LEFT($B$3:$B$16,1)=C$2,ROW($B$3:$B$16)-ROW($B$2),""),ROW(1:1))),"")
数组公式需要按CTRL+SHIFT+ENTER输入。
【讨论】:
=LEFT(ADDRESS(1, COLUMN(A1), 4, TRUE), (COLUMN(A1)>26)+1)
看起来您在输出表中获得了所需的结果,但格式不正确。从我的角度来看,您的“输出”看起来不错,因为如果您对出现问题/看起来很奇怪有疑问,它让您有机会快速检查一下。作为替代解决方案,您可以只记录一个宏来复制列 A 到 E,将值粘贴到新工作表并对每一列进行排序。这会将空白单元格发送到列的末尾,并以您预期的格式为您提供相同的外观。
补充:在您发表评论后创建attached file 。按 Alt + F8 编辑/添加要排序的范围。
【讨论】: