求助:如何用Excel公式提取指定区域唯一值并垂直显示
提取Excel数据区域的唯一值并垂直展示的公式方案
根据需求,不同Excel版本对应不同的公式实现方案,以下是具体操作方式:
适用于Excel 365/2021及以上版本(支持动态数组)
直接组合TOCOL和UNIQUE函数,一步完成区域转单列、去重操作:
=UNIQUE(TOCOL(你的数据区域, 1))
TOCOL(你的数据区域, 1):将多行多列的目标数据转换为单列,参数1用于忽略空单元格,避免提取无效空值;UNIQUE:对转换后的单列数据提取唯一值,结果会自动垂直填充到下方单元格。
示例:若数据区域为A1:C10,公式则为=UNIQUE(TOCOL(A1:C10,1))。
适用于Excel 2019及更早版本(无动态数组)
使用数组公式实现,输入完成后需按Ctrl+Shift+Enter确认,下拉公式直到出现空值或错误值,也可通过IFERROR包裹隐藏错误:
=IFERROR(INDEX($A$1:$C$10,MIN(IF(COUNTIF($E$1:E1,$A$1:$C$10)=0,ROW($A$1:$C$10),9999)),MIN(IF(COUNTIF($E$1:E1,$A$1:$C$10)=0,COLUMN($A$1:$C$10),9999))),"")
- 替换
$A$1:$C$10为你的实际数据区域; $E$1:E1为公式所在单元格的上方区域(假设首条公式放在E2),用于记录已提取的唯一值,避免重复输出;- 必须按Ctrl+Shift+Enter确认公式,否则无法正常生效。
内容的提问来源于stack exchange,提问作者obitobito
相关产品推荐
相关产品推荐

