Excel返回具有特定重复项的项目列表

Excel返回具有特定重复项的项目列表,excel,indexing,excel-formula,excel-2010,Excel,Indexing,Excel Formula,Excel 2010,我试图根据另一个变量创建一个重复特定次数的名称列表。基本上,如果我具备以下条件: Column A Column B Amy 5 John 2 Carl 3 结果将是: 艾米 艾米 艾米 艾米 艾米 卡尔 卡尔 卡尔 约翰 约翰 我已经使用索引Small Countif方法构建了初始列表,以获得一个字母顺序和不同的列表,然后使用另一个公式确定每个项目重复的次数。我知道我需要对行使用某种索引/偏移量,但就是不能完全实现

我试图根据另一个变量创建一个重复特定次数的名称列表。基本上,如果我具备以下条件:

Column A    Column B
 Amy            5
 John           2
 Carl           3
结果将是:

  • 艾米
  • 艾米
  • 艾米
  • 艾米
  • 艾米
  • 卡尔
  • 卡尔
  • 卡尔
  • 约翰
  • 约翰
我已经使用索引Small Countif方法构建了初始列表,以获得一个字母顺序和不同的列表,然后使用另一个公式确定每个项目重复的次数。我知道我需要对行使用某种索引/偏移量,但就是不能完全实现

该列表是动态的,每天都在更改,因此每天手动重新键入该列表将导致太多人为错误和时间(列表大约有50个不同的项目,最后的行总数约为400)。最终,该列表将用于许多sumproduct/Vlookup

我可以在VBA中很快做到这一点,但本文档的用户并不总是信任VBA,每次试图让他们启用宏都是行不通的

非常感谢您提供的任何帮助

根据您的表格:

+---+------+---+
|   |  A   | B |
+---+------+---+
| 1 | Amy  | 5 |
| 2 | John | 2 |
| 3 | Carl | 3 |
+---+------+---+
在C列中,在C4处粘贴一个“0”,公式
=B1+C2
向下复制到0之前:

+---+------+---+----+
|   |  A   | B | C  |
+---+------+---+----+
| 1 | Amy  | 5 | 10 |
| 2 | John | 2 |  5 |
| 3 | Carl | 3 |  3 |
| 4 |      |   |  0 |
+---+------+---+----+
现在我们有了一个行的上限,每个值都应该放在上面,我们可以在
Match()
公式中使用,这个公式将提供一个
Index()
公式

在E1中的一个新列中(我正在使用E):
=索引($a$1:$a$3,匹配(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
(大于)的最后一个参数正确工作

我想通过一些调整,这可以做得更干净一点,但这应该让你在球场上


尽管我仍然大力支持寻找能够启用宏的用户。呃。

要找一个新用户吗?这是一个选择吗?有时我真的希望它是…惊人的!非常感谢你!我稍微调整了一下,使它的顺序正确。基本上是对B列求和,然后我将匹配部分调整为=…Match(sum(B:B)-ROW(),…是的!这很有道理。倒着做并不是不对的,但感觉必须有一个简单的方法来翻转它。我在几分钟内放弃了两次这个问题,但它一直困扰着我,所以当我(倒着)破解它时我不想冒重构的风险。