簡體   English   中英

Excel公式:從多個命名范圍中查找

[英]Excel Formula: Lookup from multiple named ranges

我有3個表存儲為命名范圍。
用戶使用下拉框選擇要搜索的范圍。 命名范圍為Table1Table2Table 3

表格1

    0.7     0.8     0.9
50  1.08    1.06    1.04
70  1.08    1.06    1.05
95  1.08    1.07    1.05
120 1.09    1.07    1.05

表2

    0.7     0.8     0.9
16  1.06    1.04    1.03
25  1.06    1.05    1.03
35  1.06    1.05    1.03

表3

    0.7     0.8     0.9
50  1.21    1.16    1.11
70  1.22    1.16    1.12
95  1.22    1.16    1.12
120 1.22    1.16    1.12

然后,他們從標題行中選擇一個值,並從第一列中選​​擇一個值。
即,用戶鎬, Table30.895 我的公式應返回1.16

我在中間使用了indirecttable1 ),但是我需要提取標題行和第一列,以便可以使用類似

=INDEX(INDIRECT(pickedtable),MATCH(picked colref,INDIRECT(pickedtable:1)), MATCH(picked rowref,INDIRECT(1:pickedtable)))

任何想法如何實現這一目標?

INDIRECT(pickedtable)應該可以正常工作以獲取表,但是要從表中獲取第一列或第一行,則可以使用INDEX ,因此按照您的原始方法,此公式應該可以工作

=INDEX(INDIRECT(pickedtable),MATCH(pickedcolref,INDEX(INDIRECT(pickedtable),0,1),0),MATCH(pickedrowref,INDEX(INDIRECT(pickedtable),1,0),0))

或者您可以按照克里斯·尼爾森的方法使用HLOOKUPVLOOKUP來縮短,例如使用VLOOKUP

=VLOOKUP(pickedcolref,INDIRECT(pickedtable),MATCH(pickedrowref,INDEX(INDIRECT(pickedtable),1,0),0))

嘗試這個

=HLOOKUP(pickedcolref,
  IF(pickedtable=1,Table1,IF(pickedtable=2,Table2,IF(pickedtable=3,Table3,""))),
  MATCH(pickedrowref,
    OFFSET(
      IF(pickedtable=1,Table1,IF(pickedtable=2,Table2,IF(pickedtable=3,Table3,""))),
    0,0,,1)
  ,0)
 ,FALSE)

暫無
暫無

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

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