高坚 发表于 2022-1-3 01:33:22

向您请教下LEFTB这个函数
LEFTB("7上",2)为啥返回的是"7 ",7后面有个空格,可能不是空格,我点一下单元格,空格就不见了
LEFTB("7上",3)能够直接返回"7上"
这个函数微软官方文档也没有解释。

颜控 发表于 2022-1-3 04:18:38

写个笨的,不引用第一行
B2
=IF(ISNUMBER(FIND(" ",OFFSET(表1!$B$2,,ROUNDUP(COLUMN(A:A)/2,)-1))),TRIM(MID(SUBSTITUTE(TRIM(OFFSET(表1!$B$2,,ROUNDUP(COLUMN(A:A)/2,)-1))," ",REPT(" ",50)),50^MOD(COLUMN(),2),50)),OFFSET(表1!$B$2,,ROUNDUP(COLUMN(A:A)/2,)-1))
右拉

江南花老虎 发表于 2022-1-8 18:02:47

leftb,从左起,截取字节数
一个汉字按2个字节计算
LEFTB("7上",2)截取到7时,消耗1个字节,再截取上时,字节已经不够了,所以只能截取7

欣昊实业 发表于 2022-1-9 12:02:49

帮助文件里的说明。
LEFT 返回文本字符串中第一个字符或前几个字符。
LEFTB 基于所指定的字节数返回文本字符串中的第一个或前几个字符。
函数 LEFT 面向使用单字节字符集 (SBCS) 的语言,而函数 LEFTB 面向使用双字节字符集 (DBCS) 的语言。您计算机上的默认语言设置对返回值的影响方式如下:
无论默认语言设置如何,函数 LEFT 始终将每个字符(不管是单字节还是双字节)按 1 计数。
当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,函数 LEFTB 会将每个双字节字符按 2 计数,否则,函数 LEFTB 会将每个字符按 1 计数。

低碳出行 发表于 2022-1-10 14:34:43

万分感谢您的帮助,大大降低了工作量,谢谢~

好名字不会取 发表于 2022-1-11 20:56:39

万分感谢大神您的帮助,公式已经验证过情况1-5都能够实现,太牛啦~
页: 1 2 3 [4]
查看完整版本: 求将同一单元格内容进行拆分的公式