EXCEL如果A1包含特定字符(阴,晴,小雨)则提取并显示在A2的公式要怎么编?

2019-12-012414晴东北风 4级
这个A1的数据分别是日期,最高气温,最低气温,风向,风速
怎么才能把他们分开?

    数据之间没有空格是不行的,因为无法判断每个内容的字数是多少,除非它们的字符数量固定。

    如果有空格可以直接使用分列功能解决,如图所示:

追问

2019-12-131815晴东北风2级
这个是天气预报网站下载的天气数据,本身没有中间没有空格的,所以没办法分行。
像日期可以用left提取,最高最低气温因为都是两位数所以也可以提取,就是天气包含“晴”“小雨”的情况,风向包括“东北风”“北风”,字数不特定不好弄。
=OFFSET($A$1,(ROW(A1)-1)*4+COLUMN(A1)-1,)&""

追答

你要从数据源考虑解决问题的方法。

追问

    2019-11-01

    22

    20

    东北风 3级

    2019-11-02

    22

    20

    多云

    东北风 5级


=OFFSET($A$1,(ROW()-1)*5,0,1,1)

谢谢!!!

追答

什么意思,这是你新采集数据的格式?

追问

嗯。我把原版的数据格式改了,就方便多了。。。。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-23

其实也不是一点办法也没有

除了天气和风向外基本都有规律,按位置截取即可(这里不提)

把天气和风向的常用或全部状况列表(即使100种也无所谓),比如在JK列(简单例子,可以任意添加)

E2输入   =LOOKUP(9^9,FIND(J$2:J$13,$A2),J$2:J$13)

公式右拉下拉即可,公式的范围要根据实际行数调整

追问

请教一下,9^9是什么意思?

追答

9^9就是一个很大很大的数,知道这点就行了

本回答被提问者采纳
第2个回答  2020-02-23
可以明确告诉你,你这个记录数据的方式要提取出来太复杂,原因是最高温度、最低温度连续写在一起,可能是2位,也可能是3位,也可能是4位数,先要函数来取数字位数,再来分,分很哆嗦。再就是天气,可能是一个字,也可能是两个字、三个字,如“多云”、“雷阵雨”,要与后面的风向分开也会很困难。为什么不改变下记录方式呢,第列记录一个内容,不是简单得很吗?
第3个回答  2020-02-23
这个需要更多数据参照,主要在于最高气温,最低气温的格式,如最高气温为5度,最低气温为零下12度等的数据格式,以及特定字符(阴,晴,小雨)的完整数据,即是否还有“多云,小雪”等的描述等。
第4个回答  2022-01-21
使用下列公式之一
=LOOKUP(1,0/FIND(J$2:J$13,$A2),J$2:J$13)
=LOOKUP(LEN(A2),FIND(J$2:J$13,$A2),J$2:J$13)
=LOOKUP(9^9,FIND(J$2:J$13,$A2),J$2:J$13)
相似回答