提取存储在对角线元素中的值,并将rowid作为Excel中的输入

cx6n0qe3  于 6个月前  发布在  其他
关注(0)|答案(1)|浏览(86)

假设我们有下面的矩阵,我们想通过提取存储在对角单元格中的值来填充C2,这些值对应于行标签和列标题,这些值与C1中的值相匹配。

矩阵:

| | 2 | 3 | 4 | 5 | 5 |
| --|--|--|--|--|--|
| 1 | 2416 | 6136 | 13519 | 5298 | 1333 |
| 2 | 459 | 2416 | 5225 | 12043 | 3292 |
| 3 | 785 | 1276 | 1319 | 3188 | 14798 |
| 4 | 605 | 816 | 689 | 1539 | 4529 |
| 5 | 205 | 221 | 152 | 301 | 459 |

预期结果

C1  C2
2   2416
5   459

字符串
我试过使用MATCH()INDEX()函数,但无法获得所需的结果。

**注意:**如果矩阵以表格格式存储在另一张表中,我想使用INDIRECT()函数读取值。

ddrv8njm

ddrv8njm1#

尝试使用INDEX()和MATCH()
x1c 0d1x的数据
·单元格I2中使用的公式

=INDEX($B$2:$F$6,MATCH(H2,$A$2:$A$6,0),MATCH(H2,$B$1:$F$1,0))

字符串
或者,SUM()



·单元格I2中使用的公式

=SUM((H2=$B$1:$F$1)*(H2=$A$2:$A$6)*$B$2:$F$6)


或者,使用FILTER()



·单元格I2中使用的公式

=FILTER(FILTER($B$2:$F$6,H2=$A$2:$A$6),H2=$B$1:$F$1)


或者,使用MAP()



·单元格I2中使用的公式

=MAP(H2:H3,LAMBDA(x,FILTER(FILTER(B2:F6,x=A2:A6),x=B1:F1)))


或者,
·单元格I2中使用的公式

=XLOOKUP(H2,$B$1:$F$1,FILTER($B$2:$F$6,H2=$A$2:$A$6))

基于OP评论的假设:

  • 此公式:=XLOOKUP(H2,$B$1:$F$1,FILTER($B$2:$F$6,H2 =$A$2:$A$6))如果矩阵存储在另一张表中,并且我们使用间接函数读取它,则其他公式似乎不起作用。

由于我不确定你使用INDIRECT()函数的原因,因为它不清楚,OP似乎没有得到适当的解释,我尝试了几种方法,我在下面评论过,只是假设如果你使用INDIRECT()引用SheetTab,那么你可以尝试。

·单元格B2中使用的公式

=LET(
     α, INDIRECT(C1&"!A1:F6"),
     φ, DROP(TAKE(α,,1),1),
     δ, DROP(TAKE(α,1),,1),
     Ω, DROP(α,1,1),
     MAP(A2:A3,LAMBDA(m,FILTER(FILTER(Ω,m=φ),m=δ))))


此外,我清楚地看到INDIRECT()不是必需的,但是如果你有多个工作表,并希望将工作表切换到不同的输出,那么它是必需的,但是在现代Excel中,很少有函数可以在clubbing时将数据组合在一起,然后对数据进行操作。
单程:

@P.b先生建议的另一种方法,

如果其他工作表中的数据为Structured References,则

最终编辑更新:

  • Sheet1-->是存储数据的地方。
  • Structured References-->数据位于Structured References(又名Tables)中
  • OP,希望专门使用INDIRECT()函数。

·单元格B2中使用的公式

=LET(
     α, INDIRECT(C1),
     φ, DROP(TAKE(α,,1),1),
     δ, DROP(TAKE(α,1),,1),
     Ω, DROP(α,1,1),
     MAP(A2:A3,LAMBDA(m,FILTER(FILTER(Ω,m=φ),m=δ/1))))


或者,
·在C2中

=LET(
     α, INDIRECT(C1),
     φ, DROP(α,1,1),
     δ, TOROW(IF(φ,DROP(TAKE(α,1),,1)))/1,
     Ω, TOROW(IF(φ,DROP(TAKE(α,,1),1))),
     MMULT((δ=A2:A3)*(Ω=A2:A3),TOCOL(φ)))

**注:**由于标题是数字,而在Structured References中它转换为文本格式,因此它除以1使其成为数字--> δ/1

以上所有解决方案都可以在这里找到:Excel

相关问题