请求编写符合特定规则的Excel单元格公式
请求编写符合特定规则的Excel单元格公式
嘿,我来帮你搞定这个Excel公式!先确认下我理解的规则对不对:
- B列的单元格是两位数(比如示例里的12),第一位数字代表向右计数的位置,第二位代表向左计数的位置
- 我们需要从相邻C列的单元格内容里,提取对应位置的字符/数字
核心公式(提取两个指令的结果并合并)
如果你的需求是把两个指令对应的结果放在同一个单元格里,用空格分隔,可以用这个公式:
=MID(C2, --LEFT(B2,1), 1) & " " & MID(C2, LEN(C2)---RIGHT(B2,1)+1, 1)
公式拆解说明
--LEFT(B2,1):提取B列单元格的第一位数字,--是把文本格式的数字转成可计算的数值MID(C2, --LEFT(B2,1), 1):从C列单元格的第N位(N是B的第一位数字)提取1个字符,对应“向右数N次”的结果(如果你的“向右数1次”是指从起始位置再往右跳1位,就把这里的--LEFT(B2,1)改成--LEFT(B2,1)+1)LEN(C2)---RIGHT(B2,1)+1:计算从左侧数的对应位置,用来定位“从右侧数第M位”(M是B的第二位数字)。比如C2内容长度是7,M是2,那就是7-2+1=6,也就是左侧第6位=右侧第2位MID(C2, LEN(C2)---RIGHT(B2,1)+1, 1):提取从右侧数第M位的字符
特殊情况适配
如果B列可能出现1位数(只有单一方向的指令),可以用带判断的公式:
=IF(LEN(B2)=2, MID(C2, --LEFT(B2,1), 1) & " " & MID(C2, LEN(C2)---RIGHT(B2,1)+1, 1), IF(LEN(B2)=1, MID(C2, --LEFT(B2,1), 1), "" ) )
这个公式会自动识别B列的数字长度:2位就返回两个结果,1位就返回对应方向的结果,空值则返回空。
要是我理解的规则有偏差,你可以补充下具体的示例(比如B=12、C=某个具体值时,预期结果是什么),我再调整公式~
备注:内容来源于stack exchange,提问作者Sabrina M
相关产品推荐
相关产品推荐

