在Excel中添加各种数量的点

时间:2018-09-01 13:47:18

标签: excel vba excel-vba formula

我有很多像这样的excel文件:

示例:

enter image description here

我的目标是使它看起来像这样:

result

为此,我使用了非常简单的excel函数:

=F7&" "&G7&".........cat."&" "&H7&" times "&I7&CHAR(10)&F8&" "&G8&".........cat."&" "&H8&" times "&I8&CHAR(10)

问题是,放置在“ cat”之前的点数不是恒定的。它取决于前一个句子的结尾位置,而我的公式没有考虑到它-它总是添加9个点,这意味着我必须手动添加其余的点。

任何想法如何使其起作用? :D

2 个答案:

答案 0 :(得分:2)

REPT函数可以做到这一点。使用LEN计算要添加点的长度,然后从所需的结果宽度中减去该长度。这将重复点足够多的时间以填充该列。例如,如果您希望带点的文本为40个字符,请用.右填充:

=F1&" "&G1&REPT(".",40-LEN(G1))&"cat."&" "&H1&" times "&I1&CHAR(10)&F2&""

答案 1 :(得分:1)

=LEFT(A1 & REPT(".",22-LEN(A1))&"cat",25)

22 =固定宽度-len(“ cat”),25-固定宽度。

edit -我进行了修改,因为我的原始答案不正确,但是我看到Comintern从那以后也发布了类似的回复。