颠覆传统!TOROW & TOCOL行列转换函数,查询速度远超VLOOKUP,揭秘其无敌查找能力!

TOROW 和 TOCOL 是两个函数,它们在某些编程语言或数据库查询语言中可能用于将数据从列形式转换为行形式,或者相反。这些函数可能提供了一些VLOOKUP函数不具备的功能,例如:
1. "动态范围":TOROW 和 TOCOL 可能能够处理动态范围,这意味着它们可以在查询时自动调整搜索范围,而VLOOKUP 通常需要固定的列范围。
2. "多列查找":这些函数可能支持在多列中进行查找,而VLOOKUP通常只能在一个列中进行查找。
3. "排序和筛选":TOROW 和 TOCOL 可能能够根据特定的条件对数据进行排序和筛选,这可能是VLOOKUP所不具备的。
以下是一个使用类似 TOROW 和 TOCOL 函数的伪代码示例,这些函数可以用来在数据中查找信息,其能力可能超过传统的 VLOOKUP:
```pseudo function findDataInTOROW(TOROW_table, key_column, value_to_find): for each row in TOROW_table: if row[key_column] == value_to_find: return row return None
function findDataInTOCOL(TOCOL_table, key_column, value_to_find): for each column in Tocol_table: if column[key_column] == value_to_find: return column return None ```
在实际应用中,如果这些函数真的比 VLOOKUP 更强大,它们可能提供以下优势:
- 在

相关阅读延伸:TOROW、TOCOL行列转换函数,查找能力居然比VLOOKUP更厉害!

TOROW、TOCOL行列转换函数,查找能力居然比VLOOKUP更厉害!

一、用法回顾

TOROW(数组,忽略特殊值,通过行或列扫描),可将数组转为一行;

TOCOL(数组,忽略特殊值,通过行或列扫描),可将数组转为一列。

用法举例:

如下图所示,将C5:E7数据区域转为一行或一列。

公式一:

=TOROW(C5:E7,,1)

解析:

表示将C5:E7按列扫描的方式,转为一行。

公式二:

=TOCOL(C5:E7,,0)

表示将C5:E7按行扫描的方式,转为一列。

二、一对多查找

应用场景:

如下图所示,根据指定名称查找对应的数量。

公式一:

=TOROW(IF(A2:A10=D3,B2:B10,X),2)

解析:

如果A2:A10的值等于D3,返回对应的数量,否则返回未定义的“X”生成错误值,TOROW将IF计算得到的数组,忽略错误值转为一行,从而查找出D3对应的数量。

公式二:

=TOCOL(IF(A2:A10=D6,B2:B10,X),2)

如果A2:A10的值等于D6,返回对应的数量,否则返回未定义的“X”生成错误值,TOCOL将IF计算得到的数组,忽略错误值转为一列,从而查找出D6对应的数量。

三、多条件查找

应用场景:

如下图所示,根据左侧表格数据,查找出A组TOO6对应的数量。

公式:

=LET(a,SCAN(,A2:A13,LAMBDA(X,Y,IF(Y<>"",Y,X))),TOROW(IF(a&B2:B13=E5&F5,C2:C13,0/0),2))

解析:

LET(a,SCAN(,A2:A13,LAMBDA(X,Y,IF(Y<>"",Y,X))),将A列转化为图右侧数据区域,定义为a。如果a&B2:B13满足等于“AT006”的条件,则返回对应的数量,否则返回0/0得到错误值,TOROW去除错误值从而查找出结果。

点评:

虽然VLOOKUP也能通过组合实现一对多查找,或者用FILTER查找更简单,但是TOROW天生还可以将结果指定转为一行或一列。

发布于 2025-05-04 20:14
收藏
1
上一篇:高效数据处理技巧,使用公式实现单列数据到多行多列的拆分 下一篇:全网最详尽吉他乐理秘籍,学吉他多年,轻松上手的不二教材