如何根据Excel中的另一列获取和连接一列中的值

时间:2016-04-26 15:45:50

标签: excel

Excel在这里击败了我一天。

我有这张桌子:

+---+--------+--------+--------+--------+
|   |   A    |   B    |   C    |   D    |
+---+--------+--------+--------+--------+
| 1 |   AGE  |  EX#   |   DG1  |   DG2  |
+---+--------+--------+--------+--------+
| 2 |   19   |   C01  |  ASC   |        |
+---+--------+--------+--------+--------+
| 3 |   45   |   C02  |  ATR   |        |
+---+--------+--------+--------+--------+
| 4 |   27   |   C03  |  LSI   |        |
+---+--------+--------+--------+--------+
| 5 |   15   |   C04  |  LSI   |        |
+---+--------+--------+--------+--------+
| 6 |   49   |   C05  |  ASC   |  AGC   |
+---+--------+--------+--------+--------+
| 7 |   76   |   C06  |  AGC   |        |
+---+--------+--------+--------+--------+
| 8 |   33   |   C07  |  ASC   |        |
+---+--------+--------+--------+--------+
| 9 |   17   |   C08  |  LSI   |        |
+---+--------+--------+--------+--------+

现在,我需要根据该数据创建一个新表,其中包含一行和一列,我将填充A列并需要一个公式来填充B列:

+----+--------+---------------+
|    |   A    |        B      |
+--=-+--------+---------------+
|    |   DG   |       AGE     |
+--=-+--------+---------------+
| 10 |   AGC  |     49, 76    |
+----+--------+---------------+
| 11 |   ASC  |   19, 33, 49  |
+----+--------+---------------+
| 12 |   ATR  |       45      |
+----+--------+---------------+
| 13 |   LSI  |   15, 17, 27  |
+----+--------+---------------+

所以我需要一个公式来检查每个DG的第一个表的列C和D,并检查A列中每个列的年龄,然后将匹配到一个单元格中的所有值与作为分隔符的一个单元连接起来。 / p>

任何人都可以帮助我吗?

由于

1 个答案:

答案 0 :(得分:0)

在Chip Pierson的精彩excel网站上,我找到了自定义功能:StringConcat。只需将代码复制粘贴到VBA模块中即可。

类似下面的公式(在单元格B10和填充中)应该适合您。它是一个数组公式(使用[ctrl-shift-enter]

提交)
=StringConcat(", ",IF(Sheet1!$B$2:$C$100=A10,Sheet1!$A$2:$A$100,""))

你必须偏离范围调整范围。