我正在尝试根据另一个变量创建一个重复特定次数的名称列表。基本上,如果我有以下内容:
Column A Column B
Amy 5
John 2
Carl 3
结果将是:
我使用Index-Small-Countif方法构建了初始列表,以获得按字母顺序排列的不同列表,然后使用另一个公式来确定每个项目重复的次数。我知道我需要在引用行时使用某种索引/偏移量,但是不能完全解决它。
列表是动态的并且每天都在变化,因此每天手动重新输入列表将导致过多的人为错误和时间(列表大约有50个不同的项目,最后的行总数大约为400)。最终,该列表将用于许多sumproduct / vlookups。
我可以在VBA中相当快地完成此操作,但是本文档的用户并不总是信任VBA并且每次尝试将它们设置为启用宏都不会起作用。
非常感谢您提供的任何帮助!
答案 0 :(得分:1)
根据您的表格:
+---+------+---+
| | A | B |
+---+------+---+
| 1 | Amy | 5 |
| 2 | John | 2 |
| 3 | Carl | 3 |
+---+------+---+
在C栏中贴上" 0"在C4和公式=B1+C2
复制到0之前:
+---+------+---+----+
| | A | B | C |
+---+------+---+----+
| 1 | Amy | 5 | 10 |
| 2 | John | 2 | 5 |
| 3 | Carl | 3 | 3 |
| 4 | | | 0 |
+---+------+---+----+
现在我们有一个行的上限,每个值都应放在该行上,我们可以在Match()
公式中使用该公式来提供Index()
公式。
在新栏目中(我使用E)IN E1:=INDEX($A$1:$A$3,MATCH(ROW(),$C$1:$C$3,-1),1)
并复制
+----+------+---+----+--+------+
| | A | B | C | D | E |
+----+------+---+----+--+------+
| 1 | Amy | 5 | 10 | | Carl |
| 2 | John | 2 | 5 | | Carl |
| 3 | Carl | 3 | 3 | | Carl |
| 4 | | | 0 | | John |
| 5 | | | | | John |
| 6 | | | | | Amy |
| 7 | | | | | Amy |
| 8 | | | | | Amy |
| 9 | | | | | Amy |
| 10 | | | | | Amy |
+----+------+---+----+--+------+
该列表是向后的,因为我们在C列中从0开始向后回到奇怪的球。这是为了使Match()
-1
的最后一个参数(大于)正常工作。
我想通过一些调整可以做得更干净一点,但这应该让你进入球场。
虽然我仍然是寻找能够启用宏的用户的主要支持者。啊。