excle中我怎么才能把答案提出到题目后面ABCD那种,魔题帮导入用?

问题就是第一个图片如何能变成第二个图片那样,求解。

B2输入=IFERROR(MID($A3,FIND("A、",$A3,1),IFERROR(FIND("B、",$A3,1)-FIND("A、",$A3,1),LEN(A3))),""),下拉

C2输入=IF(B2<>"",IF(B2<>A3,MID($A3,FIND("B、",$A3,1),IFERROR(FIND("C、",$A3,1)-FIND("B、",$A3,1),LEN(A3)-LEN(B2))),MID($A4,FIND("B、",$A4,1),IFERROR(FIND("C、",$A4,1)-FIND("B、",$A4,1),LEN(A4)))),"") ,下拉

D2输入=IF(B2<>"",IFERROR(MID(A3,FIND("C、",A3,1),IFERROR(FIND("D、",A3,1)-FIND("C、",A3,1),LEN(A3)-FIND("C、",A3,1)+1)),IFERROR(MID(A4,FIND("C、",A4,1),IFERROR(FIND("D、",A4,1)-FIND("C、",A4,1),LEN(A4)-FIND("C、",A4,1)+1)),MID(A5,1,IFERROR(FIND("D、",A5,1)-1,LEN(A5))))),""),下拉

E2输入=IF(B2<>"",IFERROR(MID($A3,FIND("D、",$A3,1),LEN(A3)-FIND("D、",$A3,1)+1),IFERROR(MID($A4,FIND("D、",$A4,1),LEN(A4)-FIND("D、",$A4,1)+1),IFERROR(MID($A5,FIND("D、",$A5,1),LEN(A5)-FIND("D、",$A5,1)+1),A6))),""),下拉

追问

兄弟,我一共6个选项 到G,麻烦帮看看下面怎么写代码呗。我没太看明白。前面的确实复制就好用

追答

原理比较简单,就是做起来麻烦。B2做两个事情,一个是判定是否这格的左下角的是选项,因为所有的选项都是A、开头的,有就输出(这个再判断下后面是否有B、选项,没有就直接输出原字节长度,有的话就输出总字节长度-选项B后面的总字节长度),没有就空白,为后面的选项确认是显示空白还是显示选项。其他列以D2为例,D列是列C选项的数据的,首先if确认B2是否有值,有值代表A3单元格开始是选项,然后用find在A3查找C选项的前缀“C、”,查到就用mid输出从C开始的字节,字节长度还需要判定A3是否有D、有的话就是D的位数-C的位数作为字节长度,没有的话就用总字节长度-C的位数+1。如果A3没有C、就去A4找,方式同A3,如果A4没有那么C、肯定在A5,只要判定A5里有没有D去判定字节长度就行。
如果选项到G的话就存在一个比较麻烦的问题是,有的选项是4个有的选项是5个有的是6个。那要输出答案的话,单元格查找之前必须再做一下确认所查的单元格不是题目,否则就输出空白,公式就更长了,判定方式可以考虑:按照你的照片,题目前缀是数字,可以用IF(IFERROR(LEFT(A3,1)*1,0)>0, , “")判断一下因为如果提取的第一个字不是数字的话*1会报错,可以用这个方式判定该行是题目还是选项
因为太长了不见得有时间做,你也可以自己按照这个思路写一下

追问

太深奥了,初级的还没整明白呢!兄弟帮个忙呗……确实不会整这么长的,但是这个可以保存以后也会用到,就可以直接拿来用了。您看行吗!晚一点也没事。光是括号我就已经晕了

追答

因为有E和F的选项,E列公式要改下,B-D这3列不变
E2=IF(B2"",IFERROR(MID(A3,FIND("D、",A3,1),IFERROR(FIND("E、",A3,1)-FIND("D、",A3,1),LEN(A3)-FIND("D、",A3,1)+1)),IFERROR(MID(A4,FIND("D、",A4,1),IFERROR(FIND("E、",A4,1)-FIND("D、",A4,1),LEN(A4)-FIND("D、",A4,1)+1)),IFERROR(MID(A5,FIND("D、",A5,1),IFERROR(FIND("E、",A5,1)-FIND("D、",A5,1),LEN(A5)-FIND("D、",A5,1)+1)),MID(A6,1,IFERROR(LEN(A6)-FIND("E、",A6,1),LEN(A6)))))),"")
F2=IF(B2"",IF(IFERROR(FIND("E、",A3,1),0)0,MID(A3,FIND("E、",A3,1),IFERROR(FIND("F、",A3,1)-FIND("E、",A3,1),LEN(A3)-FIND("E、",A3,1)+1)),IF(IFERROR(LEFT(A4,1)*1,0)>0,"",IF(IFERROR(FIND("E、",A4,1),0)0,MID(A4,FIND("E、",A4,1),IFERROR(FIND("F、",A4,1)-FIND("E、",A4,1),LEN(A4)-FIND("E、",A4,1)+1)),IF(IFERROR(LEFT(A5,1)*1,0)>0,"",IF(IFERROR(FIND("E、",A5,1),0)0,MID(A5,FIND("E、",A5,1),IFERROR(FIND("F、",A5,1)-FIND("E、",A5,1),LEN(A5)-FIND("E、",A5,1)+1)),IF(IFERROR(LEFT(A6,1)*1,0)>0,"",IF(IFERROR(FIND("E、",A6,1),0)0,MID(A6,FIND("E、",A6,1),IFERROR(FIND("F、",A6,1)-FIND("E、",A6,1),LEN(A6)-FIND("E、",A6,1)+1)),IF(IFERROR(LEFT(A7,1)*1,0)>0,"",IF(IFERROR(FIND("E、",A7,1),0)0,MID(A7,FIND("E、",A7,1),IFERROR(FIND("F、",A7,1)-FIND("E、",A7,1),LEN(A7)-FIND("E、",A7,1)+1))))))))))),"")
G2=IF(F2"",IF(IFERROR(FIND("F、",A3,1),0)0,MID(A3,FIND("F、",A3,1),LEN(A3)-FIND("F、",A3,1)+1),IF(IFERROR(LEFT(A4,1)*1,0)>0,"",IF(IFERROR(FIND("F、",A4,1),0)0,MID(A4,FIND("F、",A4,1),LEN(A4)-FIND("F、",A4,1)+1),IF(IFERROR(LEFT(A5,1)*1,0)>0,"",IF(IFERROR(FIND("F、",A5,1),0)0,MID(A5,FIND("F、",A5,1),LEN(A5)-FIND("F、",A5,1)+1),IF(IFERROR(LEFT(A6,1)*1,0)>0,"",IF(IFERROR(FIND("F、",A6,1),0)0,MID(A6,FIND("F、",A6,1),LEN(A6)-FIND("F、",A6,1)+1),IF(IFERROR(LEFT(A7,1)*1,0)>0,"",IF(IFERROR(FIND("F、",A7,1),0)0,MID(A7,FIND("F、",A7,1),LEN(A7)-FIND("F、",A7,1)+1),IF(IFERROR(LEFT(A8,1)*1,0)>0,"",IF(IFERROR(FIND("F、",A8,1),0)0,MID(A8,FIND("F、",A8,1),LEN(A8)-FIND("F、",A8,1)+1)))))))))))),"")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-09-02
原数据的4个答案应该全部像A3那样在同一单元格内,或像A5:A8那样分别在相邻的不同单元格内。否则不容易得到右侧内容。
第2个回答  2021-09-02
用代码处理完毕。
相似回答