在Excel

时间:2017-02-04 13:23:29

标签: excel vlookup

我的Sheet2有多个项目(带粗体),包含多个值。

Sheet2

在Sheet1(下面)中,我需要使用B2的公式返回这些值:

  

= IF(A2 = 0,...,HLOOKUP($ A2,Sheet 2中1:1048576,RIGHT(B 1,2 $)+1,0))

和C2

  

= IF(B2 = 0,...,HLOOKUP($ A2,Sheet 2中1:1048576,RIGHT(C $ 1,2)+1,0))

FOR B6

  

= IF(A6 =​​ 0,...,HLOOKUP($ A6,Sheet 2中1:1048576,RIGHT(B 1,2 $)+1,0))

Sheet1

但是,正如你所看到的,它只返回表格(A,B,C,D)的第一个“行”,而不是下面的表格(E,F,G,H)我觉得它的变化很简单,但是,我仍然找不到它。

1 个答案:

答案 0 :(得分:0)

我怀疑您的示例数据无法准确表示实际数据集,因此转置后的INDEX function可能会替换您的HLOOKUP function

样本表2:

group A group B group C group D
A-001   B-001   C-001   D-001
A-002   B-002   C-002   D-002
A-003   B-003   C-003   D-003
A-004   B-004   C-004   D-004
A-005   B-005   C-005   D-005
        B-006   C-006   D-006
        B-007   C-007   
                C-008   
                C-009   

group E group F group G group H
E-001   F-001   G-001   H-001
E-002   F-002   G-002   H-002
        F-003       

Sheet1!B2公式:

=INDEX(Sheet2!$A:$D, COLUMN(B:B)+INT((ROW(1:1)-1)/4)*11, MOD(ROW(1:1)-1, 4)+1)&TEXT(,)

复制或填充正确和向下。 TEXT function resolviong到零长度字符串会阻止INDEX在遇到空白单元格时返回零。 INT / MOD / ROW / COLUMN函数是简单的数学运算,用于解析INDEX的行号和列号。

enter image description here