首页 > 解决方案 > Excel:如何根据单元格值重复多个值X次,包括重复的模式

问题描述

我是这个论坛的新手,如果我没有正确发布这个问题,我深表歉意。如果可能的话,真的很感激任何帮助。提前致谢。A - E 列中的数据输入和 G - K 列中的期望结果(附图片)。

输入和期望的结果

我已经厌倦了编辑自己但不能让它工作的代码:

逻辑地完成这些步骤:

  1. 每个“文件夹”值都需要向下重复数字 ((数量 *5)+1) - H 列中显示的期望结果。有 11 个“A”号,然后是 16 个“B”号。
  2. “子文件夹”值向下重复,偏移 (1,0),向下重复 5,然后下一个序列号开始再次向下重复 5,依此类推……继续 1,2,3 等。列 I 中的期望结果。
  3. “文档类型”值向下重复,偏移量 (2,0),向下重复 4,然后是 1No。空白单元格并再次向下重复 4。J 列中的预期结果。
  4. “文档编号”将始终为 1、2 或 3。后续编号应从偏移量 (3,0) 开始,然后是 2No。空白单元格,然后再次按 1 - 3 顺序编号。

我正在尝试创建一个文档控制系统,在项目开始之前识别文档名称。“唯一文件编号”包含一个公式,可以为我提供唯一编号。差距的原因是我可以有条件地将单元格格式化为颜色以识别标题和子标题。

可能有 12 个编号文件夹 A - L,其中有 6 个子文件夹 001 - 006,使列表非常长。认识到这种模式后,我觉得这可以自动化,但很困难。

问候

标签: excelvba

解决方案


为了在没有 VBA 的情况下解决这个问题,您需要几个帮助列:

P repetitions
P2 = E2
P3 = =IF(P2>1,P2-1,INDIRECT("E" & Q3))

Q row
Q2 = 2
Q3 = =IF(P2>1,Q2,Q2+1)

R First Sub Number Helper
R3 = 1
R4 = =IF(MOD(P4,5)>0,R3,R3+1)

然后到你的桌子:

G1 = =H2&IF(I2<>"","-"&I2,"")&IF(J2<>"","-"&J2,"")&IF(K2<>"","-"&K2,"")
H1 = A2
H2 = =IF(P2>1,H1,INDIRECT("A" & Q3))
I3 = R3
I4 = =IF(P4>P3,"",R4)
J2 = =IF(OR(I2="",MOD(P2,5)=0),"",XLOOKUP(H2,A:A,C:C))
K1 = =IFS(OR(J2="",MOD(P2,5)>3),"",MOD(P2,5)=3,1,MOD(P2,5)=2,2,MOD(P2,5)=1,3)

根据需要向下拖动所有列。 在此处输入图像描述


推荐阅读