簡體   English   中英

索引匹配與間接和部分匹配?

[英]Index Match with Indirect and partial match?

我有一個 Ztable,我想根據我得到的任何 Zscore 將其用作公式中的查找。 我的 Z 分數為 0.84,表格的工作方式是您查看的第一列是 0.8,然后是 go 到 0.04 列,因為這是 0.84 的第二個小數點(因此它們結合起來),您就會得到查找值。

我正在嘗試使用索引匹配公式來實現這一點,盡管由於某種原因它拒絕工作,即使公式的所有部分都可以單獨工作:Excel Online 中的示例: https://1drv.ms/x/s ?ArOlf1rKamjocy6zekCl8cG3lAc?e=6ZzuTc

整個公式:

=1-
INDEX(
INDIRECT("Table1[0.0"&RIGHT(E2,1)&"]"),
MATCH(
LEFT(E2,(FIND(".",E2,1)+1)),
Table1[Z],0))

0.84放在E2

另外,我從這個公式中得到 0.8:

=LEFT(E2,(FIND(".",E2,1)+1))

..我用這個公式得到了對 0.04 列的引用:

=INDIRECT("Table1[0.0"&RIGHT(E2,1)&"]")

那么為什么索引匹配公式會失敗? 如果我清楚地寫出公式,我會得到 0.7995:

=INDEX(Table1[0.04],MATCH(0.8,Table1[Z],0))

您不需要INDIRECT 試試這個公式:

=INDEX(Table1[[0]:[0.09]],MATCH(ROUNDDOWN(E2,1),Table1[Z],0),MATCH(TEXT((E2-ROUNDDOWN(E2,1)),"0.00"),Table1[[#Headers],[0]:[0.09]],0))

將第二列 header 從0更改為0.00 ,否則將找不到小數點后一位的值。

在此處輸入圖像描述

簡短的回答是“Z”列中的值是數字,因此您需要在查找之前將字符串 LEFT(E2,(FIND(".",E2,1)+1)) 轉換為數字:

=1-INDEX(INDIRECT("Table1[0.0"&RIGHT(E2,1)&"]"),MATCH(--LEFT(E2,(FIND(".",E2,1)+1)),Table1[Z],0))

但是@basic 是對的,可能有更好的方法可以在不使用間接的情況下做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM