excel表格如何自动把前一列中的部分内容填入后一列?

如:第一列内容是“脂肪含量20%蛋白质10%水70%……”,第二列只填写蛋白质含量“10%”,能否自动搜索到蛋白质含量后的那个数值填写到第二列里?

假设数据在A1,用公式:
=LOOKUP(10^21,--LEFT(RIGHT(A1,LEN(A1)-FIND("蛋白质",A1)-2),ROW($1:$20)))追问

我用你的试了一下,非常好用~但是我还有“蛋白质含量:30%”这种格式的数据穿插在里面,我现在筛选出来一批“蛋白质含量:30%”,那公式应该相对应地改成什么样子呢?

追答

如果数据中都是三个成分,可以用下面公式:
=LOOKUP(10^21,--RIGHT(LEFT(A1,FIND("水",A1)-1),ROW($1:$20)))

追问

并不是,数据是很乱的……就像图上这个样子

追答

用公式:
=LOOKUP(10^21,--LEFT(RIGHT(A1,LEN(A1)-FIND("蛋",A1)-IF(ISNUMBER(FIND("白质含量:",A1)),5,2)),ROW($1:$20)))

(看一下“蛋白质含量:”的冒号是全角还是半角,在公式中根据实际确定,我用的是半角的)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-28
=MID(MID(I14,FIND("蛋白质",I14),6),4,6)
I14为要找到单元格所在位置,自己修改下。追问

请问这个公式是打在哪一格里呢?
然后向下拉动填满所有的格吗?
谢谢~

追答

如果你的内容在A2单元格,那么在B2单元格打入=MID(MID(B2,FIND("蛋白质",B2),6),4,6),下拉就行了

追问

给你看下图片,公式是直接复制你的改成了D341,然后右边一格出来23.

数据好像不太对……

追答

我只截取了3个字符,所以结果都是3位,不好意思,我先想想。

相似回答