INDEX/MATCH 在行和列中有多个条件
INDEX/MATCH with multiple criteria in rows and columns
我有一个包含 2 张表格的电子表格。在 SheetA
中,每个用户 ID 有 3 行和 3 列。
在 SheetB
中,我有相同的数据集,但每个用户 ID 有 9 行和 1 列。如何将 SheetA
(来自“Answer1
”、“Answer2
”、“Answer3
”列)的答案值引入 SheetB
(在列中“价值”)?困难在于匹配多个条件(不仅仅是 userId,还有 stepId 和 Attribute/Answer)
这是一个示例性的 Google 工作表:
https://docs.google.com/spreadsheets/d/1iOeqpMHL6q_aFkVw9il039jGKHhbu6xxZLZrN0LXcEc/edit?usp=sharing
我认为它是 INDEX/MATCH
和 HLOOKUP
的组合,但我无法弄清楚。有人有什么想法吗?
工作表A:
userId
stepName
stepId
Answer1
Answer2
Answer3
126
StepA
20
50
20
10
131
StepA
20
20
23
23
133
StepA
20
32
80
50
134
StepA
20
60
46
23
138
StepA
20
12
45
67
139
StepA
20
50
20
10
142
StepA
20
20
23
23
144
StepA
20
32
80
50
147
StepA
20
60
46
23
126
StepB
30
12
45
67
131
StepB
30
50
20
10
133
StepB
30
20
23
23
134
StepB
30
32
80
50
138
StepB
30
60
46
23
139
StepB
30
12
45
67
142
StepB
30
50
20
10
144
StepB
30
20
23
23
147
StepB
30
32
80
50
126
StepC
40
60
46
23
131
StepC
40
12
45
67
133
StepC
40
50
20
10
134
StepC
40
20
23
23
138
StepC
40
32
80
50
139
StepC
40
60
46
23
142
StepC
40
12
45
67
144
StepC
40
32
80
50
147
StepC
40
12
45
67
工作表 B:
userId
stepName
stepId
Attribute
Value
126
StepA
20
Answer3
?
126
StepA
20
Answer2
?
126
StepA
20
Answer1
?
126
StepB
30
Answer3
?
126
StepB
30
Answer2
?
126
StepB
30
Answer1
?
126
StepC
40
Answer3
?
126
StepC
40
Answer2
?
126
StepC
40
Answer1
?
131
StepA
20
Answer3
?
131
StepA
20
Answer2
?
131
StepA
20
Answer1
?
131
StepB
30
Answer3
?
131
StepB
30
Answer2
?
131
StepB
30
Answer1
?
131
StepC
40
Answer3
?
131
StepC
40
Answer2
?
131
StepC
40
Answer1
?
133
StepA
20
Answer3
?
133
StepA
20
Answer2
?
133
StepA
20
Answer1
?
133
StepB
30
Answer3
?
133
StepB
30
Answer2
?
133
StepB
30
Answer1
?
133
StepC
40
Answer3
?
133
StepC
40
Answer2
?
133
StepC
40
Answer1
?
134
StepA
20
Answer3
?
134
StepA
20
Answer2
?
134
StepA
20
Answer1
?
134
StepB
30
Answer3
?
134
StepB
30
Answer2
?
134
StepB
30
Answer1
?
134
StepC
40
Answer3
?
134
StepC
40
Answer2
?
134
StepC
40
Answer1
?
138
StepA
20
Answer3
?
138
StepA
20
Answer2
?
138
StepA
20
Answer1
?
138
StepB
30
Answer3
?
138
StepB
30
Answer2
?
138
StepB
30
Answer1
?
138
StepC
40
Answer3
?
138
StepC
40
Answer2
?
138
StepC
40
Answer1
?
139
StepA
20
Answer3
?
139
StepA
20
Answer2
?
139
StepA
20
Answer1
?
139
StepB
30
Answer3
?
139
StepB
30
Answer2
?
139
StepB
30
Answer1
?
139
StepC
40
Answer3
?
139
StepC
40
Answer2
?
139
StepC
40
Answer1
?
142
StepA
20
Answer3
?
142
StepA
20
Answer2
?
142
StepA
20
Answer1
?
142
StepB
30
Answer3
?
142
StepB
30
Answer2
?
142
StepB
30
Answer1
?
142
StepC
40
Answer3
?
142
StepC
40
Answer2
?
142
StepC
40
Answer1
?
144
StepA
20
Answer3
?
144
StepA
20
Answer2
?
144
StepA
20
Answer1
?
144
StepB
30
Answer3
?
144
StepB
30
Answer2
?
144
StepB
30
Answer1
?
144
StepC
40
Answer3
?
144
StepC
40
Answer2
?
144
StepC
40
Answer1
?
147
StepA
20
Answer3
?
147
StepA
20
Answer2
?
147
StepA
20
Answer1
?
147
StepB
30
Answer3
?
147
StepB
30
Answer2
?
147
StepB
30
Answer1
?
147
StepC
40
Answer3
?
147
StepC
40
Answer2
?
147
StepC
40
Answer1
?
尝试:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&B2:B&C2:C,
{SheetA!A:A&SheetA!B:B&SheetA!C:C, SheetA!D:F},
IF(D2:D=SheetA!D1, 2,
IF(D2:D=SheetA!E1, 3,
IF(D2:D=SheetA!F1, 4, ))), 0)))
或更短:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&B2:B&C2:C,
{SheetA!A:A&SheetA!B:B&SheetA!C:C, SheetA!D:F},
MATCH(D2:D, SheetA!D1:F1, 0)+1, 0)))
我有一个包含 2 张表格的电子表格。在 SheetA
中,每个用户 ID 有 3 行和 3 列。
在 SheetB
中,我有相同的数据集,但每个用户 ID 有 9 行和 1 列。如何将 SheetA
(来自“Answer1
”、“Answer2
”、“Answer3
”列)的答案值引入 SheetB
(在列中“价值”)?困难在于匹配多个条件(不仅仅是 userId,还有 stepId 和 Attribute/Answer)
这是一个示例性的 Google 工作表: https://docs.google.com/spreadsheets/d/1iOeqpMHL6q_aFkVw9il039jGKHhbu6xxZLZrN0LXcEc/edit?usp=sharing
我认为它是 INDEX/MATCH
和 HLOOKUP
的组合,但我无法弄清楚。有人有什么想法吗?
工作表A:
userId | stepName | stepId | Answer1 | Answer2 | Answer3 |
---|---|---|---|---|---|
126 | StepA | 20 | 50 | 20 | 10 |
131 | StepA | 20 | 20 | 23 | 23 |
133 | StepA | 20 | 32 | 80 | 50 |
134 | StepA | 20 | 60 | 46 | 23 |
138 | StepA | 20 | 12 | 45 | 67 |
139 | StepA | 20 | 50 | 20 | 10 |
142 | StepA | 20 | 20 | 23 | 23 |
144 | StepA | 20 | 32 | 80 | 50 |
147 | StepA | 20 | 60 | 46 | 23 |
126 | StepB | 30 | 12 | 45 | 67 |
131 | StepB | 30 | 50 | 20 | 10 |
133 | StepB | 30 | 20 | 23 | 23 |
134 | StepB | 30 | 32 | 80 | 50 |
138 | StepB | 30 | 60 | 46 | 23 |
139 | StepB | 30 | 12 | 45 | 67 |
142 | StepB | 30 | 50 | 20 | 10 |
144 | StepB | 30 | 20 | 23 | 23 |
147 | StepB | 30 | 32 | 80 | 50 |
126 | StepC | 40 | 60 | 46 | 23 |
131 | StepC | 40 | 12 | 45 | 67 |
133 | StepC | 40 | 50 | 20 | 10 |
134 | StepC | 40 | 20 | 23 | 23 |
138 | StepC | 40 | 32 | 80 | 50 |
139 | StepC | 40 | 60 | 46 | 23 |
142 | StepC | 40 | 12 | 45 | 67 |
144 | StepC | 40 | 32 | 80 | 50 |
147 | StepC | 40 | 12 | 45 | 67 |
工作表 B:
userId | stepName | stepId | Attribute | Value |
---|---|---|---|---|
126 | StepA | 20 | Answer3 | ? |
126 | StepA | 20 | Answer2 | ? |
126 | StepA | 20 | Answer1 | ? |
126 | StepB | 30 | Answer3 | ? |
126 | StepB | 30 | Answer2 | ? |
126 | StepB | 30 | Answer1 | ? |
126 | StepC | 40 | Answer3 | ? |
126 | StepC | 40 | Answer2 | ? |
126 | StepC | 40 | Answer1 | ? |
131 | StepA | 20 | Answer3 | ? |
131 | StepA | 20 | Answer2 | ? |
131 | StepA | 20 | Answer1 | ? |
131 | StepB | 30 | Answer3 | ? |
131 | StepB | 30 | Answer2 | ? |
131 | StepB | 30 | Answer1 | ? |
131 | StepC | 40 | Answer3 | ? |
131 | StepC | 40 | Answer2 | ? |
131 | StepC | 40 | Answer1 | ? |
133 | StepA | 20 | Answer3 | ? |
133 | StepA | 20 | Answer2 | ? |
133 | StepA | 20 | Answer1 | ? |
133 | StepB | 30 | Answer3 | ? |
133 | StepB | 30 | Answer2 | ? |
133 | StepB | 30 | Answer1 | ? |
133 | StepC | 40 | Answer3 | ? |
133 | StepC | 40 | Answer2 | ? |
133 | StepC | 40 | Answer1 | ? |
134 | StepA | 20 | Answer3 | ? |
134 | StepA | 20 | Answer2 | ? |
134 | StepA | 20 | Answer1 | ? |
134 | StepB | 30 | Answer3 | ? |
134 | StepB | 30 | Answer2 | ? |
134 | StepB | 30 | Answer1 | ? |
134 | StepC | 40 | Answer3 | ? |
134 | StepC | 40 | Answer2 | ? |
134 | StepC | 40 | Answer1 | ? |
138 | StepA | 20 | Answer3 | ? |
138 | StepA | 20 | Answer2 | ? |
138 | StepA | 20 | Answer1 | ? |
138 | StepB | 30 | Answer3 | ? |
138 | StepB | 30 | Answer2 | ? |
138 | StepB | 30 | Answer1 | ? |
138 | StepC | 40 | Answer3 | ? |
138 | StepC | 40 | Answer2 | ? |
138 | StepC | 40 | Answer1 | ? |
139 | StepA | 20 | Answer3 | ? |
139 | StepA | 20 | Answer2 | ? |
139 | StepA | 20 | Answer1 | ? |
139 | StepB | 30 | Answer3 | ? |
139 | StepB | 30 | Answer2 | ? |
139 | StepB | 30 | Answer1 | ? |
139 | StepC | 40 | Answer3 | ? |
139 | StepC | 40 | Answer2 | ? |
139 | StepC | 40 | Answer1 | ? |
142 | StepA | 20 | Answer3 | ? |
142 | StepA | 20 | Answer2 | ? |
142 | StepA | 20 | Answer1 | ? |
142 | StepB | 30 | Answer3 | ? |
142 | StepB | 30 | Answer2 | ? |
142 | StepB | 30 | Answer1 | ? |
142 | StepC | 40 | Answer3 | ? |
142 | StepC | 40 | Answer2 | ? |
142 | StepC | 40 | Answer1 | ? |
144 | StepA | 20 | Answer3 | ? |
144 | StepA | 20 | Answer2 | ? |
144 | StepA | 20 | Answer1 | ? |
144 | StepB | 30 | Answer3 | ? |
144 | StepB | 30 | Answer2 | ? |
144 | StepB | 30 | Answer1 | ? |
144 | StepC | 40 | Answer3 | ? |
144 | StepC | 40 | Answer2 | ? |
144 | StepC | 40 | Answer1 | ? |
147 | StepA | 20 | Answer3 | ? |
147 | StepA | 20 | Answer2 | ? |
147 | StepA | 20 | Answer1 | ? |
147 | StepB | 30 | Answer3 | ? |
147 | StepB | 30 | Answer2 | ? |
147 | StepB | 30 | Answer1 | ? |
147 | StepC | 40 | Answer3 | ? |
147 | StepC | 40 | Answer2 | ? |
147 | StepC | 40 | Answer1 | ? |
尝试:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&B2:B&C2:C,
{SheetA!A:A&SheetA!B:B&SheetA!C:C, SheetA!D:F},
IF(D2:D=SheetA!D1, 2,
IF(D2:D=SheetA!E1, 3,
IF(D2:D=SheetA!F1, 4, ))), 0)))
或更短:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&B2:B&C2:C,
{SheetA!A:A&SheetA!B:B&SheetA!C:C, SheetA!D:F},
MATCH(D2:D, SheetA!D1:F1, 0)+1, 0)))