有限制地从 Excel 个单元格中提取单词
Extract words from Excel cell with limitation
所以我想从 Excel 中提取一些文本,有成千上万的数据,所以我认为如果有一种快速的方法来做事情会很酷。不管怎样,事情是这样的:
单元格 A1 具有:(RI-650;RJ-7500;KM-1000;TL-650;) <--4 个变量(RI-650、RJ-7500、KM-1000 和 TL-650)
虽然单元格 A2 具有:(RI-650;RJ-11875;KM-1000;RB-5000;TL-650;) <--5 个变量,加上上例中的 RB-5000。
我可以在 B1、C1、D1、E1 等中填充每个变量吗? B 列中的示例我得到 RI-xxx,C 列中我得到 RJ-xxx,等等?我尝试了 LEFT、RIGHT、MID 和一些 IF,但卡住了。
对此有任何见解吗?
如果确实有括号书尾值使用Find & Replace (Ctrl+H) 摆脱它们。
移除左括号和右括号后(如果它们确实存在),select 所有 A 列并选择数据 } 数据工具 } 文本到列。在向导的第一个屏幕上 select 分隔并单击 下一步 。在向导的第二个屏幕上,在分号旁边打勾并清除其他所有内容。单击 完成。
如果您打算保留 A 列中的值,请将它们复制并粘贴到 B 列中,然后调整上述方法将它们分开。
假定您的变量由“;
”分隔,此公式将满足您的要求。如果它们被另一个字符或 space 分隔,则只需将“;
”替换为该字符或 space。不要忘记更改要在您创建的每个新列中搜索的变量。只需将其复制到每个变量的列中:
编辑:更新的公式 你现在可以复制这个公式,假设变量名在 B1、C1、D1 等中,给出我图片中的示例。 (更通用的公式)
=IF(FIND(B, $A2)>0, MID($A2, FIND(B, $A2), FIND(";", $A2, FIND(B,$A2))-FIND(B, $A2)), "Nothing")
一个解决方案是使用 FIND 函数解析您的术语,然后使用 MID 函数生成子字符串
方法如下:
第 1 步: 单元格 A1 包含 (RI-650;RJ-7500;KM-1000;TL-650;)
你可以计算断点
单元格 F1 到 J1 为
| 1 | =FIND(";",$A1,F1+1) | =FIND(";",$A1,G1+1) |
=FIND(";",$A1,H1+1) | =FIND(";",$A1,I1+1)
第 2 步: 将单元格 B1 设置为 E1 为
| =MID($A1,F1+1,G1-F1-1) | =MID($A1,G1+1,H1-G1-1) |
=MID($A1,H1+1,I1-H1-1) | =MID($A1,I1+1,J1-I1-1)
备注:
- 公式只写一次,复制就对了。
- 如果需要,您可以隐藏 FIND 值。
所以我想从 Excel 中提取一些文本,有成千上万的数据,所以我认为如果有一种快速的方法来做事情会很酷。不管怎样,事情是这样的:
单元格 A1 具有:(RI-650;RJ-7500;KM-1000;TL-650;) <--4 个变量(RI-650、RJ-7500、KM-1000 和 TL-650)
虽然单元格 A2 具有:(RI-650;RJ-11875;KM-1000;RB-5000;TL-650;) <--5 个变量,加上上例中的 RB-5000。
我可以在 B1、C1、D1、E1 等中填充每个变量吗? B 列中的示例我得到 RI-xxx,C 列中我得到 RJ-xxx,等等?我尝试了 LEFT、RIGHT、MID 和一些 IF,但卡住了。
对此有任何见解吗?
如果确实有括号书尾值使用Find & Replace (Ctrl+H) 摆脱它们。
移除左括号和右括号后(如果它们确实存在),select 所有 A 列并选择数据 } 数据工具 } 文本到列。在向导的第一个屏幕上 select 分隔并单击 下一步 。在向导的第二个屏幕上,在分号旁边打勾并清除其他所有内容。单击 完成。
如果您打算保留 A 列中的值,请将它们复制并粘贴到 B 列中,然后调整上述方法将它们分开。
假定您的变量由“;
”分隔,此公式将满足您的要求。如果它们被另一个字符或 space 分隔,则只需将“;
”替换为该字符或 space。不要忘记更改要在您创建的每个新列中搜索的变量。只需将其复制到每个变量的列中:
编辑:更新的公式 你现在可以复制这个公式,假设变量名在 B1、C1、D1 等中,给出我图片中的示例。 (更通用的公式)
=IF(FIND(B, $A2)>0, MID($A2, FIND(B, $A2), FIND(";", $A2, FIND(B,$A2))-FIND(B, $A2)), "Nothing")
一个解决方案是使用 FIND 函数解析您的术语,然后使用 MID 函数生成子字符串
方法如下:
第 1 步: 单元格 A1 包含 (RI-650;RJ-7500;KM-1000;TL-650;)
你可以计算断点
单元格 F1 到 J1 为
| 1 | =FIND(";",$A1,F1+1) | =FIND(";",$A1,G1+1) | =FIND(";",$A1,H1+1) | =FIND(";",$A1,I1+1)
第 2 步: 将单元格 B1 设置为 E1 为
| =MID($A1,F1+1,G1-F1-1) | =MID($A1,G1+1,H1-G1-1) | =MID($A1,H1+1,I1-H1-1) | =MID($A1,I1+1,J1-I1-1)
备注:
- 公式只写一次,复制就对了。
- 如果需要,您可以隐藏 FIND 值。