Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 索引与行中的两个要求匹配_Excel - Fatal编程技术网

Excel 索引与行中的两个要求匹配

Excel 索引与行中的两个要求匹配,excel,Excel,我正在试着做一个离前面的问题不太远的桌子,但我不能让它工作 我在表格的一页上有一张桌子 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

我正在试着做一个离前面的问题不太远的桌子,但我不能让它工作

我在表格的一页上有一张桌子

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
我尝试过使用偏移量和索引/匹配,但我不能完全达到目的。是否有人能提供一个公式,在不同的表格上,可以做到这一点?我的类型和日期将不断变化,这就是为什么我可以硬编码它。 干杯

编辑: 日期列在第一列中可能不符合顺序,这就是我遇到问题的原因。无论如何,谢谢你的回答。我的数据看起来更像

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
...

以下公式适用于我:

= IFERROR(INDEX($B2:$G2,MATCH(RIGHT(B$6,1),$B2:$G2,0)+1),"")
当然,您必须相应地更新此公式,以包括您的特定单元格范围

请参见下面的工作示例。我在单元格
B7
中有这个公式,我把它拖到单元格
E9


编辑

刚刚注意到你的编辑。这是可能的,但只会使公式相当长

请参见下文,更新公式以考虑到这一点(为便于阅读,添加了多个换行符):

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

请参见下面的工作示例。我在单元格
B7
中有这个公式,我把它拖到单元格
E9


刚刚注意到您对这篇文章的编辑。请参见下文,我编辑了我的答案以说明此更改。仅供将来参考:当您第一次发布问题时,而不是等待答案然后编辑您的问题时,应包括有关问题的所有必要详细信息,如此处的编辑。此外,如果您编辑您的问题,还应在我的答案上发表评论,让我知道。我注意到你编辑这篇文章的唯一原因是因为我碰巧回到这里,再次查看我的答案,但我没有收到你编辑这篇文章的通知。如果你对我的回答发表评论,我会得到通知,并且会在这里更快地做出回应。谢谢你!
= 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,"")