公式为:
=IFERROR(INDEX(AllData,SMALL(IF(ISNUMBER(SEARCH($K$3,AnalCode))*ISNUMBER(SEARCH($K$4,ProjectCode)),ROW(AllData)-MIN(ROW(AllData))+1),ROW(H1)),COLUMN(H1)),"")
$K$3 是分析代码,$K$4 是项目代码。
分析代码为{SA、SR、SW等}
项目代码为{E1、E5、E50、E51等}
如果我单独输入 E,我会得到所有“E”,对此感到满意。但是,如果我输入 E5,我会得到 E5、E50 和 E51 等。如果我输入 E5,我真的只想要 E5。有时我可能想要所有 E5*。是否可以在某处使用星号作为通配符?即:如果我输入 E5,我只会得到 E5,但如果我输入 E5*,我会得到所有 E5、E50 和 E51 等。
谢谢
假设您尝试使用或不使用通配符进行行列查找。
如果您有 Microsoft 365(用于使用
LAMBDA
、FILTER
等),您可以尝试使用 FILTER
而不是 INDEX
进行类似的操作吗:
data_matching_analysis_code
)COUNTIF
很有帮助,因为您可以在需要时进行通配符匹配(不使用通配符时完全匹配。)
A | B | C | D | E | |
---|---|---|---|---|---|
1 | SA | SR | RW | SW | |
2 | E1 | 9 | 5 | 7 | 34 |
3 | E5 | 4 | 10 | 3 | 33 |
4 | E50 | 6 | 1 | 10 | 43 |
5 | E51 | 7 | 1 | 9 | 54 |
6 | |||||
7 | 选择分析代码 | S* | |||
8 | 选择项目代码 | E5* |
定义名称 | 指的是 |
---|---|
分析数据 |
|
分析代码 |
|
项目代码 |
|
是_匹配 |
|
数据匹配分析代码 |
|
|
||
---|---|---|
4 | 10 | 33 |
6 | 1 | 43 |
7 | 1 | 54 |