神了,Excel的这个操作我今天才知道
文章来源:简说Python 作者:老表
XLOOKUP(lookup_value, lookup_array, return_array,
[if_not_found], [match_mode], [search_mode])
lookup_value:必选参数,要查找的值
lookup_array:必选参数,要搜索的数组或区域
return_array:必选参数,要返回的数组或区域
[if_not_found]:可选参数,如果找不到有效的匹配项,则返回你提供的 [if_not_found] 文本。
如果找不到有效的匹配项,并且缺少 [if_not_found],则会返回 #N/A。
[match_mode]:可选参数,指定匹配类型,和vlookup的[range_lookup]参数类似,但是比它的模式多
0 - 完全匹配。 如果未找到,则返回 #N/A。 这是默认选项。
-1 - 完全匹配。 如果没有找到,则返回下一个较小的项。
1 - 完全匹配。 如果没有找到,则返回下一个较大的项。
2 - 通配符匹配,其中 *, ? 和 ~ 有特殊含义。
[search_mode]:可选参数,指定要使用的搜索模式:
1 - 从第一项开始执行搜索。 这是默认选项。
-1 - 从最后一项开始执行反向搜索。
2 - 执行依赖于 lookup_array 按升序排序的二进制搜索。 如果未排序,将返回无效结果。
-2 - 执行依赖于 lookup_array 按降序排序的二进制搜索。 如果未排序,将返回无效结果。
参数解析来源:https://support.office.com/zh-CN/
VLOOKUP (lookup_value, table_array, col_index_num,
[range_lookup])
lookup_value:必选参数,要查找的值,必须位于查找区域table_array的第一列。
table_array:必选参数,VLOOKUP 在其中搜索 lookup_value 和返回值的单元格区域。
col_index_num:包含返回值的列号(从1开始的table_array的最左侧列)。
[range_lookup]:一个逻辑值,该值指定希望 VLOOKUP 查找近似匹配(1/True)
还是精确匹配(0/False),默认为近似匹配。
LOOKUP(lookup_value, lookup_vector,
[result_vector])
lookup_value:必选参数,要查找的值。
lookup_vector:必选参数,只包含一行或一列的区域,且必须为升序排列。
[result_vector]:可选参数,只包含一行或一列的区域。result_vector 参数必须与 lookup_vector 参数大小相同(指包含元素个数)。
【注意】
1、如果 LOOKUP 函数找不到 lookup_value,则该函数会与 lookup_vector 中
小于或等于 lookup_value 的最大值进行匹配。
2、如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回
#N/A 错误值。
VLOOKUP(D23,IF({0,1},C12:C18,D12:D18),2,0) XLOOKUP(D23,D12:D18,C12:C18)
IF(判断条件,判断条件为真时返回什么,判断条件为假时返回什么)
IF({0,1},C12:C18,D12:D18)
当{0,1}取0时返回 D12:D18,取1时返回C12:C18,
最终返回一个新的区域:D12:D18列在前,C12:C18在后的一个数据区域。
/
XLOOKUP(D16,B4:B10,D4:E10)
VLOOKUP(E15,I4:J10,2,1)
XLOOKUP(E16,I4:I10,J4:J10,"没有找到",-1,1)
VLOOKUP(E17,L4:M10,2,1)
XLOOKUP(E18,L4:L10,M4:M10,"没有找到",-1,1)
XLOOKUP(E16,I4:I10,J4:J10,"没有找到",-1,1)
VLOOKUP(D15,D4:E11,2,0)
XLOOKUP(D15,C4:C11,D4:D11)
XLOOKUP(D15,D4:D11,E4:E11,"没有找到",0,-1)
VLOOKUP(C15,IF({0,1},B4:B10,C4:C10),2,0)
XLOOKUP(C15,C4:C10,B4:B10,"查无此人")
python爬虫人工智能大数据公众号
评论