连接和过滤 Excel Table 中的文本
Concatenating and Filtering text in Excel Table
好的,情况是这样的:
我在 Excel 中有一个包含 15 列的 table。
其中三列与扫描的 PDF 的文档 ID 相关。这些文档 ID 大致如下所示:
PREFIX 00001 - PREFIX 00008
PREFIX 00008 - PREFIX 00010
这些在 table 中被分解成这样:
PREFIX | DOCSTART | DOCEND
--------------------------
PREFIX | 00001 | 00008
PREFIX | 00008 | 00010
问题是有时文档有多个 PREFIX(即使 ID 保持不变)和一些 "Rejected" 字符串。导出此行的系统没有生成新行,而是插入了一个带有其他值的分号。所以我们有:
PREFIX | 00001 | 00008 |
PREFIX | 00008 | 00010 |
PREFIX; PREFIX1; PREFIX2 | 00011; 00011; 00011 | 00015; 00015; 00015 |
PREFIX; Rejected | 00016; Rejected | 00020; Rejected |
Rejected; PREFIX | Rejected; 00021 | Rejected; 00022 |
逗号分隔示例
PREFIXCODE,DOCSTART,DOCEND
PREFIX; <Non-Production>; <Non-Production>; <Non-Production>; <Non-Production>,12345; <Non-Production>; <Non-Production>; <Non-Production>; <Non-Production>,12445; <Non-Production>; <Non-Production>; <Non-Production>; <Non-Production>
<Rejected>; PREFIX,<Rejected>; 2124,<Rejected>; 2125
PREFIX,2477,2484
PREFIX,2488,2495
<Rejected>; PREFIX; <Non-Production>,<Rejected>; 208181; <Non-Production>,<Rejected>; 208082; <Non-Production>
<Rejected>; PREFIX,<Rejected>; 20845482,<Rejected>; 20845482
<Rejected>; PREFIX; PREFIX2,<Rejected>; 40502; 40502,<Rejected>; 40510; 40510
我只需要将一个系列(标准 "PREFIX" 系列)放入一栏中。我可以 CONCATENATE() 已经很容易标准化的东西,但是没有暴力攻击,我不确定在连接所有东西时摆脱 PREFIX1、PREFIX2 和 Rejected 系列的最佳方法。
好处是我可以选择任何系列的 Prefix、Prefix1 和 Prefix2 值,因为对于这个任务来说一个和另一个一样好,而且我可以完全摆脱 "Rejected" 字符串不回头。 (这将供那些显然喜欢将这些东西放在 table 但也有印刷副本的人审阅。)
没有涉及过滤器和替换的暴力攻击,有没有我错过的更优雅的方法来做到这一点? (如果有帮助,我可以导入到 Access 并使用 SQL 对其进行攻击...)
我将在接下来的几周内反复 运行 解决这个问题,这些 table 通常有 100 到 1000 行,所以我需要一些东西来使它更高效.....
谢谢。
因此假设第一个 PREFIX 实例出现在单元格 A4 中,您可以使用这样的公式来获取包含所有前缀的列。
=IF(A4="PREFIX",B4,"")
这将为您提供 B 列的值,只要 A 列的值为 PREFIX。将其向下拖动以获取值然后使用连接 and/or 转置的组合将您的值列表转换为您需要提供的格式。
希望我已经理解了这些数据。
好的,情况是这样的:
我在 Excel 中有一个包含 15 列的 table。
其中三列与扫描的 PDF 的文档 ID 相关。这些文档 ID 大致如下所示:
PREFIX 00001 - PREFIX 00008
PREFIX 00008 - PREFIX 00010
这些在 table 中被分解成这样:
PREFIX | DOCSTART | DOCEND
--------------------------
PREFIX | 00001 | 00008
PREFIX | 00008 | 00010
问题是有时文档有多个 PREFIX(即使 ID 保持不变)和一些 "Rejected" 字符串。导出此行的系统没有生成新行,而是插入了一个带有其他值的分号。所以我们有:
PREFIX | 00001 | 00008 |
PREFIX | 00008 | 00010 |
PREFIX; PREFIX1; PREFIX2 | 00011; 00011; 00011 | 00015; 00015; 00015 |
PREFIX; Rejected | 00016; Rejected | 00020; Rejected |
Rejected; PREFIX | Rejected; 00021 | Rejected; 00022 |
逗号分隔示例
PREFIXCODE,DOCSTART,DOCEND
PREFIX; <Non-Production>; <Non-Production>; <Non-Production>; <Non-Production>,12345; <Non-Production>; <Non-Production>; <Non-Production>; <Non-Production>,12445; <Non-Production>; <Non-Production>; <Non-Production>; <Non-Production>
<Rejected>; PREFIX,<Rejected>; 2124,<Rejected>; 2125
PREFIX,2477,2484
PREFIX,2488,2495
<Rejected>; PREFIX; <Non-Production>,<Rejected>; 208181; <Non-Production>,<Rejected>; 208082; <Non-Production>
<Rejected>; PREFIX,<Rejected>; 20845482,<Rejected>; 20845482
<Rejected>; PREFIX; PREFIX2,<Rejected>; 40502; 40502,<Rejected>; 40510; 40510
我只需要将一个系列(标准 "PREFIX" 系列)放入一栏中。我可以 CONCATENATE() 已经很容易标准化的东西,但是没有暴力攻击,我不确定在连接所有东西时摆脱 PREFIX1、PREFIX2 和 Rejected 系列的最佳方法。
好处是我可以选择任何系列的 Prefix、Prefix1 和 Prefix2 值,因为对于这个任务来说一个和另一个一样好,而且我可以完全摆脱 "Rejected" 字符串不回头。 (这将供那些显然喜欢将这些东西放在 table 但也有印刷副本的人审阅。)
没有涉及过滤器和替换的暴力攻击,有没有我错过的更优雅的方法来做到这一点? (如果有帮助,我可以导入到 Access 并使用 SQL 对其进行攻击...)
我将在接下来的几周内反复 运行 解决这个问题,这些 table 通常有 100 到 1000 行,所以我需要一些东西来使它更高效.....
谢谢。
因此假设第一个 PREFIX 实例出现在单元格 A4 中,您可以使用这样的公式来获取包含所有前缀的列。 =IF(A4="PREFIX",B4,"")
这将为您提供 B 列的值,只要 A 列的值为 PREFIX。将其向下拖动以获取值然后使用连接 and/or 转置的组合将您的值列表转换为您需要提供的格式。
希望我已经理解了这些数据。