如何将Excel中的数字添加到同一行,并用';后缀';?

如何将Excel中的数字添加到同一行,并用';后缀';?,excel,if-statement,Excel,If Statement,我有一个超过700个条目的列表(见下图) 在“B”行中,有些数字的后缀为“KM”、“KN”或“E” 是否有一些公式(或任何解决方案)可以将这些数字相加,但同时将这3个后缀分开(不是将它们相加,而是将“KM”、“KN”和“E”分开),因此解决方案可能类似于: 1. 345 KM 2. 220 KN 3. 560 E 以下公式应能够分割B列中的数字和后缀: =LEFT(B1, 0, FIND(" ", B1)) =LEFT(B1, FIND(" ", B1)+1, 9999) 如果您想避免

我有一个超过700个条目的列表(见下图)

在“B”行中,有些数字的后缀为“KM”、“KN”或“E”

是否有一些公式(或任何解决方案)可以将这些数字相加,但同时将这3个后缀分开(不是将它们相加,而是将“KM”、“KN”和“E”分开),因此解决方案可能类似于:

 1. 345 KM
 2. 220 KN
 3. 560 E

以下公式应能够分割B列中的数字和后缀:

=LEFT(B1, 0, FIND(" ", B1))
=LEFT(B1, FIND(" ", B1)+1, 9999)

如果您想避免VBA,可以使用DSUM。我从来没有真正使用过它,但我知道它对这类事情很有用。希望这能为你指明正确的方向

以下公式应能够分割B列中的数字和后缀:

=LEFT(B1, 0, FIND(" ", B1))
=LEFT(B1, FIND(" ", B1)+1, 9999)

如果您想避免VBA,可以使用DSUM。我从来没有真正使用过它,但我知道它对这类事情很有用。希望这能为你指明正确的方向

使用
Data\Text to Columns
根据
空格
字符拆分列,然后旋转数据并将单位(KM、KN、E)用作行字段,将数字用作数据字段

使用
Data\Text to Columns
根据
空格
字符拆分列,然后旋转数据并将单位(KM、KN、E)用作行字段,将数字用作数据字段

数据在B1中,在C1中输入:

=--MID(B1,1,FIND(" ",B1)-1)
=MID(B1,FIND(" ",B1)+1,999)
然后抄下来。在D1中输入:

=--MID(B1,1,FIND(" ",B1)-1)
=MID(B1,FIND(" ",B1)+1,999)
然后抄下来

最后,要获得总和,请使用以下公式:

=SUMPRODUCT((C:C)*(D:D="KM"))

数据在B1中,在C1中输入:

=--MID(B1,1,FIND(" ",B1)-1)
=MID(B1,FIND(" ",B1)+1,999)
然后抄下来。在D1中输入:

=--MID(B1,1,FIND(" ",B1)-1)
=MID(B1,FIND(" ",B1)+1,999)
然后抄下来

最后,要获得总和,请使用以下公式:

=SUMPRODUCT((C:C)*(D:D="KM"))

听起来你想把每种类型的后缀加在一起

最简单的方法是将数字分隔成自己的列。 您可以在单元格C1中输入
=NUMBERVALUE(左(B1,SEARCH(“,B1))
,并为每一行向下复制以完成此操作。然后使用
SUMIF
函数获取结果

  • KM:
    =SUMIF(B1:B999,=*KM),C1:C999)
  • KN:
    =SUMIF(B1:B999,=*KN”,C1:C999)
  • E:
    =SUMIF(B1:B999,=*E,C1:C999)

听起来你想把每种类型的后缀加在一起

最简单的方法是将数字分隔成自己的列。 您可以在单元格C1中输入
=NUMBERVALUE(左(B1,SEARCH(“,B1))
,并为每一行向下复制以完成此操作。然后使用
SUMIF
函数获取结果

  • KM:
    =SUMIF(B1:B999,=*KM),C1:C999)
  • KN:
    =SUMIF(B1:B999,=*KN”,C1:C999)
  • E:
    =SUMIF(B1:B999,=*E,C1:C999)

警告:numbervalue只能在excel 2013和excel online中使用,如果您使用的是早期版本,请使用
=-(左(B1,搜索(“,B1))
。感谢您对@nutsch的说明。警告:numbervalue只能在excel 2013和excel online中使用,请使用
=-(左(B1,搜索(“,B1)))
如果您使用的是早期版本。感谢@nutsch对此的澄清。