index匹配行中的两个需求

时间:2017-12-21 14:55:03

标签: excel

我正在尝试做一个与this之前的问题相距太远的表格,但我无法让它发挥作用。

我在一张表格上有一张表格

date type score type score type score ...
1    a    1.2   b    1     c    5 
2    b    5.6
3    a    3.6   c    1.6   d    4
...

我正试图让公式转变成

形式
 date    type a    type b   type c    type d
 1       1.2       1        5
 2                 5.6
 3       3.6                1.6       4

我尝试过使用偏移量,索引/匹配但我无法实现这一目标。是否有人能够提供一个公式来进行另一张可以做到这一点的表格?我的类型和日期会不断变化,这就是我可以硬编码的原因。 干杯!

编辑: 第一列中的日期列可能不正确,这就是我遇到问题的原因。无论如何,谢谢你ImaginaryHuman072889的答案。我的数据看起来更像

date type score type score type score ...
1    a    1.2   b    1     c    5 
3    b    5.6
2    a    3.6   c    1.6   d    4
...

1 个答案:

答案 0 :(得分:0)

以下公式适用于我:

= IFERROR(INDEX($B2:$G2,MATCH(RIGHT(B$6,1),$B2:$G2,0)+1),"")

当然,您必须相应地更新此公式以包含您的特定细胞范围。

见下面的工作示例。我在单元格B7中有此公式,然后将其拖到单元格E9

enter image description here

修改

注意到你的编辑。这是可能的,但只是使公式更长。

请参阅下文,更新公式以将此考虑在内(为了便于阅读,添加了几个换行符):

= IFERROR(INDEX($B$2:$G$4,MATCH($A7,$A$2:$A$4,0),
  INDEX(MMULT(($B$2:$G$4=RIGHT(B$6,1))+0,
  TRANSPOSE(COLUMN($B$2:$G$4)-MIN(COLUMN($B$2:$G$4))+1)),
  MATCH($A7,$A$2:$A$4,0))+1)+0,"")

请注意,这是一个数组公式,因此在粘贴此公式后,必须在键盘上按 Ctrl + Shift + Enter 而不是仅按输入

见下面的工作示例。我在单元格B7中有此公式,然后将其拖到单元格E9

enter image description here