都知道TOCOL函数的基本用法,今天我们来介绍它的查找用法!
将下面的销售数据表转换为单列形式

要达成的目标:将所有销量数据转换为一列
公式实现:
=TOCOL(B2:D4, 3)
具体的计算过程:
1. TOCOL首先会扫描B2:D4区域

2. 这里要注意是按行扫描:120→150→180→80→95→110→200→185→220
3. 第二参数3表示忽略空值和错误值

4. 返回单列数组:{120;150;180;80;95;110;200;185;220}

处理包含空缺值的月度数据
原始数据:

要实现的目标:提取所有非空单元格的业绩数据
公式实现:
=TOCOL(B2:D4, 3)

计算结果:{5000;6000;4500;5200;3800;4100}
由于第二参数3同时忽略空值和错误值,所以函数会自动跳过B3、C2、D4等空单元格
最终的结果按行顺序排列,

根据员工姓名查找其销售记录
原始数据:

查找目标:查找张三的所有销售数量
TOCOL函数解决方案:
=TOCOL(IF(A2:A6="张三", C2:C6, NA()), 2)

公式的具体计算过程:
1. IF函数判断:
- A2="张三" → TRUE

→ 返回C2的值10

- A3="张三" → FALSE

→ 返回NA()

- A4="张三" → TRUE →

返回C4的值8

- A5="张三" → FALSE

→ 返回NA()

- A6="张三" → TRUE

→ 返回C6的值20

2. IF函数最终返回数组{10;#N/A;8;#N/A;20}

3. TOCOL函数进行过滤:第二参数2忽略错误值
4. 最终的输出结果:{10;8;20}

根据部门和职位查找符合条件的员工
原始数据:

查找目标:查找销售部所有专员的薪资
=TOCOL(IF((A2:A7="销售部")*(B2:B7="专员"), D2:D7, NA()), 2)

公式的具体计算过程:
1. 条件组合判断:
- (A2:A7="销售部")*(B2:B7="专员") 这一部分是要返回逻辑值数组


- 逻辑值乘法的规则:TRUE*TRUE=1, TRUE*FALSE=0, FALSE*TRUE=0, FALSE*FALSE=0

2. 具体的判断结果:
- A2&B2:销售部&经理 → 1*0=0 → FALSE → 返回NA()
- A3&B3:销售部&专员 → 1*1=1 → TRUE → 返回D3的值8000
- A4&B4:技术部&经理 → 0*0=0 → FALSE → 返回NA()
- A5&B5:销售部&专员 → 1*1=1 → TRUE → 返回D5的值8500
- A6&B6:技术部&专员 → 0*1=0 → FALSE → 返回NA()
- A7&B7:销售部&专员 → 1*1=1 → TRUE → 返回D7的值9000

3. 这一部分最终的返回数组:{#N/A;8000;#N/A;8500;#N/A;9000}
4. 加上TOCOL函数最终的返回结果:{8000;8500;9000}

快递单号查询系统
原始数据:

查找目标:根据快递单号"YT2008"查找对应的商家
TOCOL函数的解决方法:
=TOCOL(IF(C2:D6="YT2008", A2:A6, NA()), 2)

公式的具体计算过程:
1. IF函数会首先判断C2:D6区域中的每个单元格是否等于"YT2008"
2. 最终返回一个比较结果矩阵:

3. IF函数对逻辑值进行处理:
- TRUE位置返回对应的A列值
- FALSE位置返回NA()

4. IF函数返回最终结果数组:{#N/A;#N/A;#N/A;#N/A;"商家D";#N/A}
5. 套上TOCOL函数最终返回结果:{"商家D"}
