1

我有一些数据在这样的表中结构化:

现有表.

我的电子表格上有另一个选项卡,我在其中消除了任何重复的类别条目,并希望将数据连接起来,如下所示:

新表

我需要使用函数不是宏或 Visual Basic创建它。我已经编写了函数来消除任何重复的类别条目,现在我需要弄清楚如何获取每个独特的类别并在其后面附加数据。有任何想法吗?

4

1 回答 1

1

假设第一个图像来自Sheet1和第二个Sheet2,这是一种方法。您需要向 中添加至少一个计算列Sheet1和可选的两个计算行Sheet2

  1. 唯一标识 上的每一行Sheet1。添加一个A包含公式=B3&COUNTIF($B$3:B3,B3)的新列A3并填写。你会有first1in A3first2inA4等等。
  2. 识别 上的每个列块Sheet2。添加一个6包含公式=COUNTIF($B$2:B2,B2)的新行B6并填写。值将是1,1,1,2,2,2,3,3,3。如果您愿意,您可以手动输入这些,但它不会那么容易扩展。
  3. 计算出每个数据项的列,Sheet1并放入列中Sheet2。使用公式添加一个新行7并填写。值将是。我们现在知道,对于 中的每个单元格,我们拥有类别的哪个实例以及数据变量来自哪一列。Sheet2=MATCH(B2,Sheet1!$A$2:$E$2,0)3,4,5,3,4,5,3,4,5Sheet2
  4. 用于VLOOKUP查找first1和返回数据3表中的数据列。在 上Sheet2,将单元格设置B3=VLOOKUP($A3&B$6,Sheet1!$A$2:$E$8,B$7,FALSE)并向下填充。
  5. 您将遇到许多#N/A错误(例如 cell E4)。如果您有更新版本的 Excel,您可以使用它IFERROR()来转义;否则,使用第 4 步=IF(ISNULL(<formula>), "", <formula>)<formula>的公式。

总结一下:

  • 为源中的每一行创建一个唯一的、连续的、可计算的行 ID。
  • 确定目标中的每一列使用该序列的哪个实例。这将附加到类别的末尾以确定在上一步中形成的行 ID。
  • 确定哪一列包含目标中每一列的数据。
  • 查找具有计算的行 ID 的行并找到该数据项的相关列。
  • 适当地格式化结果。
于 2012-04-05T07:26:05.563 回答