2016-05-23 70 views
2

我试图将8列虚拟变量转换为8列级别的一列。如果单元格1包含X,那么单元格2应该等于W,如果单元格1包含Z,则查看下一个条件

我想这个公式推这样做:

=IF(OR(A1="1");"1";IF(OR(B1="1");"2";IF(OR(C1="1");"3";IF(OR(D1="1");"4";IF(OR(E1="1");"5";IF(OR(F1="1");"6";IF(OR(G1="1");"7";IF(OR(H1="1");"8";"")))))))) 

下面是桌子上山坳景色。 1至8是数据和col.9是我想什么我的命令返回:

1 0 0 0 0 0 0 0 1 
1 0 0 0 0 0 0 0 1 
0 0 0 0 1 0 0 0 5 
0 1 0 0 0 0 0 0 2 
1 0 0 0 0 0 0 0 1 
0 0 0 0 0 0 1 0 7 
1 0 0 0 0 0 0 0 1 
1 0 0 0 0 0 0 0 1 
1 0 0 0 0 0 0 0 1 
0 0 0 0 1 0 0 0 5 

我已经使用了这些其他stackoverflow问题作为inspriration的结构。

但它不起作用,我没有收到错误信息,但我也没有得到正确的输出。

任何人都可以看到问题出在哪里? - 将不胜感激:)

最良好的祝愿, 玛蒂尔德

+2

使用[MATCH功能](https://support.office.com/en-us/article/MATCH-function-e8dffd45-c762-47d6-bf89-533f4a37673a):' = MATCH(1,A1:H1,0)' – tigeravatar

+0

第一次尝试的数据格式+1 – findwindow

+0

如果下面的答案是正确的,请通过在答案上单击复选标记来标记它。只有你能做到这一点。 –

回答

3

使用MATCH()函数:

=MATCH(1,A1:H1,0) 

看样子你使用;代替,的分隔符。如果这样使用这个。

=MATCH(1;A1:H1;0) 

enter image description here

+2

哇几乎在20k ^^编辑:得到downvote在19990. – findwindow

+0

我正在想'sumproduct(($ A1:$ H1 = 1)*列($ A1:$ H1))的行更多的东西,但我可以'在这种情况下,我认为match()的简单性。但它确实避免了,vs;问题8) –

+0

@ForwardEd将工作,但为什么不需要时使用数组公式。此外,您还需要使用AGGREGATE()或MIN(IF()),以防万一在范围内有多个1。 –

相关问题