根据其他变量的位置和值创建新变量

时间:2015-11-12 16:09:11

标签: excel vba excel-formula

我正在尝试根据Var_1Var_8的位置以及Value_1Value_4的值创建新变量。数据采用面板形式,ID重复每个 5 行。例如,对于填充了1的IDs和第一个Var_#,相应的NVar_#应取Value_1中的五个值。对于填充了1的 5 IDs和第二个Var_#,相应的NVar_#应取Value_2中的五个值。等等。

在下图中,Var_1在第一个ID块中填充了1。因此,NVar_1应该具有来自Value_1的第一个值块。第一个Var_3块中的ID也会填充1。因此,NVar_3应该具有来自Value_2的第一个值块。等等。

IDs中每 5 Var_1-8的1s模式是可变的,但每个ID块中只有4列将填充1。 Value_1-4中的值重复每 5 IDs

赞赏VBA语法或excel公式的任何方向。

这是输出应该是什么样子。 enter image description here

1 个答案:

答案 0 :(得分:0)

假设Var_1条目在B2中开始,我在NVar_1下复制了这个并且跨越了: -

=IF(B2,INDEX($J$2:$M$4,ROWS($N$1:$N1),COUNTIF($B2:B2,1)),0)

因此,您从同一行获取值,但是使用由COUNTIF确定的列 - 这将计算Var_1,Var_2等中的数量,直到匹配列(或者您可以使用SUM来计算一些人的数量。)

实际上你可以简化它只是为了在当前行中工作: -

=IF(B2,INDEX($J2:$M2,1,COUNTIF($B2:B2,1)),0)

enter image description here