将值添加到 MS 中同一单元格中的不同整数 Excel

Add value to different integers in same cell in MS Excel

我在电子表格中有一个典型的图书索引,如下所示:

我需要 Excel 识别同一单元格中的不同整数并为每个整数添加一个常数。

假设常数是 5

结果应该是这样的:

我无法excel识别单元格中的不同值。

不确定这是否可以在不使用又长又复杂的公式的情况下顺利完成。

为什么不尝试将单元格拆分为多列(Data > Data Tools > Text To Columns > Delimited 和 select Comma 作为分隔符)。一旦所有不同的值都是单独的列,就可以很容易地应用公式并添加常量。 之后,您可以使用 CONCATENATE 公式将文本和数字合并回单个列中的单个值。

希望对您有所帮助。

我会将文本和每个值分隔到单独的单元格中,然后使用 & 组合成您想要的格式,如下所示:

=A1&", "&B1+G1&", "&C1+G1&", "&D1+G1

其中 A1 包含“创伤”,B1 包含 15,C1 包含 17,D1 包含 25。G1 保持常数 5。

这是我试过的,

公式仅适用于O365 Beta 通道(内部人员)

• 单元格 B1

中使用的公式
=TEXTJOIN(", ",,TEXTBEFORE(A1,", ",1),TEXTSPLIT(TEXTAFTER(A1,", ",1),", ")+5)

或者,如果您没有使用上述 Excel 版本,而是使用 Excel 2019、2021 或常规 O365,那么,

• 单元格 B1

中使用的公式
=TEXTJOIN(", ",,LEFT(A1,FIND(",",A1)-1),IFERROR(
FILTERXML("<a><b>"&SUBSTITUTE(A1,", ","</b><b>")&"</b></a>","//b")+5,""))

编辑

一种临时方法:

=TEXTJOIN(", ",,TEXTBEFORE(A1,", ",1),IFERROR(TEXTSPLIT(A1,", ")+5,""))

您也可以使用 Power Query 轻松完成此任务。

我的两分钱,假设Excel ms365:

B1中的公式:

=BYROW(A1:A3,LAMBDA(a,LET(X,TEXTSPLIT(a,", "),TEXTJOIN(", ",,IFERROR(X+C1,X)))))

或者,如果无法访问 TEXTSPLIT(),则使用:

=BYROW(A1:A3,LAMBDA(a,LET(X,FILTERXML("<t><s>"&SUBSTITUTE(a,",","</s><s>")&"</s></t>","//s"),TEXTJOIN(", ",,IFERROR(X+C1,X)))))

或者,如果无法访问 BYROW(),您必须拖动以下内容:

=LET(X,FILTERXML("<t><s>"&SUBSTITUTE(A1,",","</s><s>")&"</s></t>","//s"),TEXTJOIN(", ",,IFERROR(X+C,X)))