我在
Sheet1
中有一个名为DeviceName
的列,其中包含类似于RTRNY653,SWNY653,...
的数据。在Sheet2
中,我有一个名为InterfaceName
的列,其中包含接口名称,最后还列出了设备名称FA_01_RTRNY653,FA_12_SWNY653,...
获取与DeviceName
相关的QoSID
的标准公式是=VLOOKUP(DeviceName;Sheet2!InterfaceName;2;0)
,但由于InterfaceName
包含更多文本,我卡住了...
问题:如何创建一个VLOOKUP函数,使用Sheet1
中的DeviceName
,在Sheet2
上查找它,并从Sheet2
获取列QoSID
。
示例数据
Sheet1
DeviceName
-----------
RTRNY653
SWNY653
RTRWS215
RTRCH888
Sheet2
InterfaceName | QoSID
--------------------------
FA_01_RTRNY653 | 1
FA_12_SWNY653 | 2
S_00_RTRWS215 | 1
S_01_RTRWS215 | 3
=IFERROR(INDEX({Col1_From_Table_of_SubStrings},MATCH(TRUE,ArrayFormula(ISNUMBER(SEARCH({Col2_From_Table_of_SubStrings},{ValueToSearchForSubStringsWithin}))),0)),"#NoSubStrings!")
,但我仍然对您的解决方案感兴趣!我喜欢学习新的或更好的做事方法。 - Xzila=IFERROR(INDEX({Col1_From_Table_of_SubStrings},MIN(IF(ISNUMBER(SEARCH({Col2_From_Table_of_SubStrings},{ValueToSearchForSubStringsWithin})),ROW({Col1_From_Table_of_SubStrings})))),"#NoSubStrings!")
。唯一的好处是,如果使用SMALL
/LARGE
而不是MIN
,它可以给出多个匹配项(例如,对于多个N值的数字序列使用SMALL({...}, N)
)。 - Jerry