如何在 Unix 中制作类似于 Excel 的 vlookup 功能的东西?
摘自办公室网站,VLOOKUP
VLOOKUP 中的 V 代表垂直。当比较值位于要查找的数据左侧的列中时,请使用 VLOOKUP 而不是 HLOOKUP。
语法 VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 要在表数组的第一列中搜索的值。Lookup_value 可以是值或引用。如果lookup_value 小于table_array 第一列中的最小值,则VLOOKUP 返回#N/A 错误值。
Table_array 两列或更多列数据。使用对范围或范围名称的引用。table_array 第一列中的值是lookup_value 搜索到的值。这些值可以是文本、数字或逻辑值。大写和小写文本是等效的。
Col_index_num table_array 中必须从中返回匹配值的列号。col_index_num 为 1 返回 table_array 第一列中的值;col_index_num 为 2 返回 table_array 中第二列中的值,依此类推。如果 col_index_num 是:
小于 1,VLOOKUP 返回 #VALUE!错误值。大于 table_array 中的列数,VLOOKUP 返回 #REF!错误值。
Range_lookup 一个逻辑值,指定您希望 VLOOKUP 查找精确匹配还是近似匹配:
1GR_P1:001PI
:040VG_L1
:001PO_L3
1JPI_P1:001PO_L1
1JPI_P1:001PO_L2
Run Code Online (Sandbox Code Playgroud)
1JPI_P1:001PO_L1 1401UC
1JPI_P1:001PO_L2 1401UC
1HIK_P2:001ER 1402UC
1GR_P1:001PI 1402UC
Run Code Online (Sandbox Code Playgroud)
1GR_P1:001PI 1402UC
:040VG_L1 NA
:001PO_L3 NA
1JPI_P1:001PO_L1 …Run Code Online (Sandbox Code Playgroud) 我需要制作一个脚本来转换以下内容:
Name = x:y
Z = a:b.c
Z1 = a1:b1.c1
End
Name=x1:y1
Z2 = a2:b2.c2
Z3 = a3:b3.c3
Z4 = a4:b4.c4
End
Name = l:k
s = w:e.v
End
Run Code Online (Sandbox Code Playgroud)
进入:
x:y Z a:b.c
x:y Z1 a1:b1.c1
x1:y1 Z2 a2:b2.c2
x1:y1 Z3 a3:b3.c3
x1:y1 Z4 a4:b4.c4
l:k s w:e.v
Run Code Online (Sandbox Code Playgroud)