ex_区域去重
函数名:ex_区域去重 / ex_RmDup
功能描述
数据区域全列去重(合并所有列并输出去重后的单列)。按列顺序遍历整个区域,收集所有非空单元格后去重,输出为单列结果。
会员等级:🟢 免费版(Free)
语法
excel
=ex_区域去重(数据区域)参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 数据区域 | Object[,] | 是 | - | 要处理的数据区域 |
返回值
Object[,] - 单列二维数组,包含输入区域中所有去重后的值,按列优先顺序排列。
使用示例
跨列合并去重
公式:
excel
=ex_区域去重(A1:C2)结果(A1:C2 区域内容如下):
输入:
苹果 香蕉 苹果
橙子 苹果 葡萄
输出:
苹果
橙子
香蕉
葡萄单列去重
公式:
excel
=ex_区域去重(A1:A6)结果(A1:A6 = 张三、李四、张三、王五、李四、赵六):
张三
李四
王五
赵六技术说明
- 遍历顺序为列优先:先遍历第一列所有行,再遍历第二列所有行,依此类推。
- 仅收集非空且非 ExcelEmpty 的单元格参与去重。
- 使用 LINQ
Distinct()默认相等比较器去重;Excel 中数值统一以双精度浮点传入,因此相同数值视为重复,而数字与文本(如1与"1")视为不同值。 - 结果输出为单列二维数组,行数等于去重后的元素个数,保留首次出现时的顺序。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 数据区域为空 | 空数组 |
| 区域内全部为空 | 空数组 |
| 运行时异常 | 空数组 |