我有一张表,其中一列偶尔包含一个用逗号(单位)分隔的数字序列。我想找到一个脚本,该脚本将计算该单元格中的值数量(值),然后将相邻单元格除以该数量,最终替换该单元格的值(NeedResult,替换值)。
我玩过公式,但是我的VBA技能很初级……任何帮助我都非常感谢!
此处的表格图片
答案 0 :(得分:1)
除非您真的想要,否则我不确定您是否需要VBA解决方案。可以使用Excel的公式进行计算:只需从字符串的长度中减去字符串的长度减去逗号即可。您的单元格公式可能如下所示:
=C3/(LEN(B3)-LEN(SUBSTITUTE(B3,",",""))+1)
答案 1 :(得分:0)
将第一个单元格值分割为逗号,并调整结果数组的上界尺寸。
dim i as long
i = ubound(split(range("b2").value, chr(44))) + 1
range("d2") = cdbl(range("c2").value / i)
没有编译器指令Option Base 1,拆分数组是从零开始的。
答案 2 :(得分:0)
您也可以使用公式
在D2中使用 Ctrl + Shift + Enter
作为数组公式输入=IF(ISBLANK(B2),"",C2/COUNT(FILTERXML("<t><s>" & SUBSTITUTE(B2,CHAR(44), "</s><s>") & "</s></t>", "//s")))