【问题标题】:Excel: How to repeat multiple values based on a cell value X times, including a repeated patternExcel:如何根据单元格值重复多个值X次,包括重复的模式
【发布时间】:2021-12-09 03:56:38
【问题描述】:

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

我已经厌倦了编辑自己但无法完全正常工作的代码:

逻辑地完成这些步骤:

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

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

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

问候

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: excel vba


【解决方案1】:

试图在没有 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)

根据需要向下拖动所有列。

【讨论】:

  • 这太好了,非常感谢!我已经调整了代码以适应,但感谢您对如何使其工作的一般想法。一条评论,我假设您在“H2”上方的代码中您在公式中引用了“H2”,当它是“H1”时它可以工作,我认为这是正确的。再次感谢!
  • 感谢您的更正,我已经相应地更新了答案。
猜你喜欢
  • 2017-10-27
  • 2017-09-23
  • 1970-01-01
  • 2014-12-27
  • 2014-10-13
  • 2015-08-01
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多