excel 用于在多个多行单元格中搜索A列中的项并替换为旁边列中具有值的项的公式

efzxgjgh  于 2023-01-27  发布在  其他
关注(0)|答案(2)|浏览(110)

enter image description here
如果你看上面的图像,你会看到示例数据。我期待写VBA代码或公式,将搜索这些数据,并执行查找和替换across整个工作表。
我有列1,多个多行单元格与换行符。与多个值,一些重复一些不。没有特定的顺序或长度的值。
我想在第1列中搜索在第3列中找到的值,如果发现这些值,则用第2列中与其相邻的值替换它们。同时保持它们当前的换行符结构和格式。
示例数据|第1栏||"UUUS1 UUUS2 UUUS3 UUUS4乌拉圭1乌拉圭2乌拉圭3乌拉圭1乌拉圭2乌拉圭3乌拉圭1乌拉圭2乌拉圭2 MGUS1 MGUS2阶段1阶段2 WYUS1 WYUS2 GHUS1 GHUS2 GHUSSP乌拉圭1乌拉圭2 RHUS1 RHUS2 SHUS1 SHUS2 SHUS5乌拉圭1 MPLW VC美国1 MPLW VC美国2 MPLW VC美国3新加坡1新加坡2新加坡3新加坡4 BEUS1 FKUS1巴西1和美国1 HIUS1 WWH美国1 WWH美国2 WWHUS3 WWH US4 GHUS3 MICUS2 MICUS1 WBWW VC美国2英寸UUUS1 UUUS2 UUUS3 UUUS4乌拉圭1乌拉圭2乌拉圭3乌拉圭1乌拉圭2乌拉圭3乌拉圭1乌拉圭4乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭2乌拉圭2乌拉圭1乌拉圭2乌拉圭2乌拉圭2乌拉圭2乌拉圭5乌拉圭1乌拉圭2乌拉圭3乌拉圭1乌拉圭2乌拉圭3乌拉圭4乌拉圭1乌拉圭美国2 MPLW VC美国3 WBWW VC美国1新加坡美国4 FKUS1 BEUS1 BKUS1和美国1 HIUS1 GHUS3云母2云母1 WBWW VC美国2 ""UUUS1 UUUS2 UUUS3 UUUS4 URUS1 URUS2 URUS3 UCSCUS1 UCSCUS2 UCSCUS3 UCSCUSWK1 UCSCUSWK2 MGUS1 MGUS2阶段1阶段2 WYUS1 WYUS2 GHUS1 GHUS2 GHUS2 GHUSSP RSCUS1 RSCUS2 RHUS1 RHUS2 SHUS1 SHUS2 SHUS5 ERUS1序列1序列2序列3 WWH US1 WWH US2 WWH US3最大允许工作量VC US 1最大允许工作量VC US 2 WBWW VC US 1最大允许工作量VC US 3最小允许工作量1最大允许工作量1 FKUS1和US1最大允许工作量1最大允许工作量3 MICUS2 MICUS1 WBWW VC US 2 ""UUUS1 UUUS2 UUUS3 UUUS4 URUS1 URUS2 URUS3 UCSCUS1 UCSCUS2 UCSCUS3 UCSCUSWK1 UCSCUSWK2 MGUS1 MGUS2阶段1阶段2 WYUS1 WYUS2 GHUS1 GHUS2 GHUS2 GHUS2 GHUS1 RSCUS1 RSCUS2 RHUS1 RHUS2 SHUS1 SHUS2屏蔽5屏蔽1屏蔽美国1屏蔽美国2屏蔽美国3屏蔽美国1屏蔽美国2屏蔽美国3屏蔽美国4屏蔽VC美国1屏蔽VC美国2屏蔽VC美国3屏蔽VC美国1屏蔽3屏蔽2屏蔽1屏蔽VC美国2 ""屏蔽1屏蔽2屏蔽3屏蔽4屏蔽1屏蔽2屏蔽3 ""日本美国1日本美国2日本美国3日本美国2日本美国3世界卫生组织美国2世界卫生组织美国3世界卫生组织美国4日本日本卫生组织美国1世界卫生组织美国1 MICUS2 MICUS1 4827006 "WYUS4段1段1段4段1段2段1段2段1段2段3段2段3段3段3段2段3段3段2段3段4段1段3段2段2段1段4827006 ""日本美国2日本美国3日本美国2日本美国3日本美国1日本美国1日本美国1日本美国2日本美国3日本美国4日本1日本2日本3日本1日本2日本2日本5 ""UUUS1 UUUS2 UUUS3 UUUS4乌拉圭1乌拉圭2乌拉圭3乌拉圭1乌拉圭2乌拉圭3乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭1乌拉圭2乌拉圭RHUS1 RHUS2 SHUS1 SHUS2 SHUS5 ERUS1日本美国1日本美国2日本美国3日本美国2日本美国3 WWH美国2 WWH美国3 WWH美国4 MPLW VC美国1 MPLW VC美国2 WBWW VC美国1 ZZSJO美国1 WWH美国1 MPLW VC美国3日本美国3 MICUS2 EICUS2 EICUS1 MICUS1 "" UCSCUSV1 UCSCUSV2 "" SHUS4 RHUS1 WYUS4日本美国4 WWH美国1 "
第2栏|4827143 4827144 4827145 4827146 4827147 4827096 4827098
第3栏|上一级1上一级1上一级2上一级1上一级1上一级3上一级1上一级2上一级4上一级1
尝试了常规的查找和替换。对于我拥有的数据量来说需要很长时间,而且很难找到错误。

5fjcxozz

5fjcxozz1#

以下是基于您的数据的简短示例:

B1中的公式:

=TEXTJOIN(CHAR(10),,XLOOKUP(TEXTSPLIT(A1&CHAR(10),CHAR(10),,1),E:E,D:D,"Not Found"))

您也可以选择一次对整个范围执行此操作:

所用公式:

=LET(x,CHAR(10),MAP(A1:A2,LAMBDA(y,TEXTJOIN(x,,XLOOKUP(TEXTSPLIT(y&x,x,,1),E:E,D:D,"Not Found")))))
8xiog9wr

8xiog9wr2#

替换分隔子字符串(BYROW

=LET(dlData,$A$2:$A$6,slData,Sheet2!$B$2:$B$13,svData,Sheet2!$A$2:$A$13,
    cDelimiter,CHAR(10),IgnoreEmpty,1,
BYROW(dlData,LAMBDA(dlCell,
    LET(drData,TEXTSPLIT(dlCell,cDelimiter,,IgnoreEmpty),srData,XLOOKUP(drData,slData,svData),
        TEXTJOIN(cDelimiter,IgnoreEmpty,IFERROR(srData,drData))))))

相关问题