excel单元格内有多个数据。如何让数据统一加上某个数值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel单元格内有多个数据。如何让数据统一加上某个数值?相关的知识,希望对你有一定的参考价值。

如图,怎样让A列里面的数据全部加一,变成C列那样子,如果换成乘法又如何操作?

最简单的步骤如下

1、将A列数据以逗号为标识符进行分列

2、分列结果后,再用源数据+1

3、用textjoin函数将单元格连接起来(textjoin是新函数,很实用,经网友提醒该函数只在最新版的msoffice或wps才有)

C1=TEXTJOIN(",",,IFERROR(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),COLUMN(A:J)*99-98,99))+1,""))

然后下拉公式,不需要三键

追问

你这不是抄那个画线工的么,再说了,要三键不然出不来数据

追答

可能我用正版的office365,不用三键

参考技术A

如果是2019版本或Office 365,可用公式:

C1=TEXTJOIN(",",,IFERROR(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),COLUMN(A:J)*99-98,99))+1,""))

同时按Ctrl+Shift+Enter三键输入数组公式,下拉。

追问

这个公式可行,就是数据少了不行,而且末尾多了些逗号

追答

请像本人的截图,带行号和列标,光标定位到公式所在单元格中,上面的公式编辑栏中显示出公式,一起截图。这样就能看到工作表公式计算的全貌。
如果方法得当,公式编写无误,是不应该出现追问所说的情况的。

追问

追答

用公式:
=TEXTJOIN(",",1,IFERROR(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),COLUMN(A:J)*99-98,99))+1,""))
试试,公式中的1也可用: TRUE
可能是你的Excel版本不同,或者用的是WPS2019(本人没用过,但知道也增加了这个函数)

追问

数据没有逗号了可行。就是当数据原本过长时,需要空很多列,才能完整计算出来,如A3数据,只有空出BCDEF多列时,G3数据才计算完整,不然就只有到21为止。然后如果放在数据的下面来运算,就还是不行了,只算到21为止

追答

数据很多时,一是要加大99、98数字,如199、198,甚至999,998
二是A:J中的J要取更多的列,就是所取的列数甚至少要等于数据个数,或者用:ROW$1:$99)
这样的方式,ROW$1:$99)就是可以有99个数据。

追问

=TEXTJOIN(",",1,IFERROR(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),COLUMN($A:$ZZ)*99-98,99))+1,""))
这样也行,防止下拉变形。谢谢了。

追答

前面的回答用COLUMN,就是方便下拉不要加$,用ROW就要加$

本回答被提问者采纳
参考技术B

加辅助列轻松解决(这个办法各版本通用,且是常规公式),e1=IF(COLUMN(A1)>LEN($A1)-LEN(SUBSTITUTE($A1,",",""))+1,"",D1&LEFT(MID(","&$A1,FIND("+",SUBSTITUTE(","&$A1,",","+",COLUMN(A1)))+1,5)&",",FIND(",",MID(","&$A1,FIND("+",SUBSTITUTE(","&$A1,",","+",COLUMN(A1)))+1,5)&",")-1)+1&",")右拉至足够用的位置(我拉到L列了),如果要乘2就把公式中的+1&改为*2&即可,然后c1=LEFT(LOOKUP(1,0/(E1:L1<>""),E1:L1),LEN(LOOKUP(1,0/(E1:L1<>""),E1:L1))-1)

参考技术C 将A列数据以逗号为标识符进行分列,分列后的数字你想怎么计算就怎么计算。计算完成后再用字符串合并公式将单元格数字和逗号合并起来。追问

这个分列我知道,但是不方便

参考技术D

B1输入

=TEXTJOIN(",",1,IFERROR(MID(A1,ROW($1:$10),1)+1,""))

ctrl+shift+回车(请使用MSoffice 365或2019或WPS办公软件,较低版本没有textjoin函数)

追问

但数据为5,10,12,17,20,结果错的厉害

追答

额,还有两位的。

按键精灵中,怎么得到excel某单元格内容?

按键精灵中,怎么样把某单元格的内容 到 剪贴板?
也就是怎么样复制某一单元格?
你好,ZYLHLB.那怎么样才可以让读出来的内容写入剪切板呢?

1.首先来建立一个新的Excel文档,在桌面上点击右键,选择【新建】-【Excel工作表】,命名为【新手学员】。

2.现在这个新Excel文档是空白的,我们接下来会通过按键精灵的脚本来打开并写入一些数据。

3.打开按键精灵软件,点击【新建】,进入我的脚本界面,再点击进入【全部命令】。

4.在【全部命令】中选择【插件命令】-【office办公文档插件】-【打开Excel文档】。

5.在命令的下面可以看到命令的详细设置,点击【路径】。

6.在弹出窗口中选择【新手学员】的Excel文档,点击打开。

7.可以在命令参数中看到引用的文档,点击插入就可以插入对应的命令脚本。

8.继续在文档中写入新的数据,选择命令【writeXls 写入Excel文档单元格】,选择对应的单元格的行和列,输入要写入单元格的内容【"序号"】,点击插入。

9.在脚本界面可以看到新插入的代码。

10.根据类似的格式,可以添加其它代码,一共写入3行4列的单元格内容。

11.最后选择【closeXls 关闭文档】,点击插入对应的代码。

12.修改脚本属性的描述和保存的脚本文件名。保存脚本后按【F10】进行脚本调试。

13.脚本执行完成后,再次打开这个Excel文档,可以看到刚才设置的数据已经成功写入了。

参考技术A //下面这句是向Excel文档工作表(1)单元格(1, 1)读出内容存入(Text)变量
Plugin Text = Office.ReadXls(1, 1, 1, "C:\测试.xls")

//下面这句是获得剪切板内容
Plugin Clipboard = Sys.GetCLB()

//下面这句是输出剪切板内容
SayString Clipboard本回答被提问者采纳
参考技术B 占个座,学习一下

以上是关于excel单元格内有多个数据。如何让数据统一加上某个数值?的主要内容,如果未能解决你的问题,请参考以下文章

excel如何合并单元格数据

按键精灵中,怎么得到excel某单元格内容?

excel给一列数据统一拼接某字符

如何快速搜索出excel工作表中哪些单元格链接到其他数据源?

excel中的一列每个单元格内容的前面统一添加同样的文字怎么做?

excel中的一列每个单元格内容的前面统一新增同样的文字怎么做?