Excel 根据其他变量的位置和值创建新变量
我试图根据Excel 根据其他变量的位置和值创建新变量,excel,vba,excel-formula,Excel,Vba,Excel Formula,我试图根据Var_1到Var_8的位置和value_1到value_4的值创建新变量。数据采用面板形式,每ID行重复一次5行。例如,对于5个id和第一个用1填充的变量,相应的NVar#应该取Value#u 1中的五个值。对于相同的5id和第二个Var#填充了1的NVar#,相应的NVar#应取Value#u2中的五个值。等等 在下图中,Var_1在第一个ID块中填充1。因此,NVar\u 1应该具有Value\u 1中的第一个值块Var_3在第一个ID块中也填充了1。因此,NVar_3应该具有V
Var_1
到Var_8
的位置和value_1
到value_4
的值创建新变量。数据采用面板形式,每ID
行重复一次5行。例如,对于5个id
和第一个用1填充的变量,相应的NVar#
应该取Value#u 1
中的五个值。对于相同的5id
和第二个Var#
填充了1的NVar#
,相应的NVar#
应取Value#u2
中的五个值。等等
在下图中,Var_1
在第一个ID块中填充1。因此,NVar\u 1
应该具有Value\u 1
中的第一个值块Var_3
在第一个ID
块中也填充了1。因此,NVar_3应该具有Value_2
中的第一个值块。等等
Var_1-8
中每隔5IDs
的1s模式是可变的,但每个ID
块中只有4列将填充1s。Value\u 1-4
中的值每隔5IDs
重复一次
如对VBA语法或excel公式有任何指导,将不胜感激
下面是输出应该是什么样子。
假设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)
请编辑您的问题以设置文本格式,阅读时非常痛苦。。。使用“格式化内联代码,
**
表示粗体,*
表示斜体。所有这些都在文本编辑器上方!看起来你可以使用索引公式得到你想要的答案,但现在没有时间去做和测试。谢谢@TomSharpe!我会调查的。谢谢@TomSharp。当公式获得第二个ID块时,我在应该有数据的位置获得#Ref
。有没有关于出了什么问题的想法?我真的不明白rows部分是如何工作的。好吧,如果我重新启动每个块的rows($N$1:$N1),那么它就工作了。唯一缺少的部分是找出如何重新启动它或让行部分循环每个块的值1-5