Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1712|回复: 3

用函数公式提取数据

[复制链接]
发表于 2019-10-16 08:51 | 显示全部楼层 |阅读模式
本帖最后由 jsfc 于 2019-10-16 21:28 编辑

Sheet1“B”列中,
【1】如B7、B8这样显示的,对应C列则取"|"前面所有字符串;D列则取"|"后面所有字符串
【2】如B5、B6这样显示的,对应对应C列则取"|"前面所有字符串;D列则取"|"后面所有字符串
【3】如B2、B3、B4这样显示的,C列则取B1及B2"|"前面所有字符串并相连;D列则取"|"后面所有字符串
【4】如B16、B17、B18、B19这样显示的,对应C列则取B15及B16及B17"|"前面所有字符串并相连;D列则取"|"后面所有字符串
【5】如B22、B23这样显示的,对应C列则为“无”;D列则为“无”
【注】这几类数据数量不等,且位置不定。

用函数提取.JPG

用函数提取.rar

11.37 KB, 下载次数: 5

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-10-16 15:20 | 显示全部楼层
您好,
想請問您用的 Excel 版本是?
回复

使用道具 举报

发表于 2019-10-16 16:25 | 显示全部楼层
本帖最后由 cutecpu 于 2019-10-16 16:41 编辑

因為不知道您的 Excel 版本,所以用了 PHONETIC 函數來替您解答:

E2 陣列公式:

=IF(ISTEXT(A2),IF(B2<>"",TRIM(LEFT(
SUBSTITUTE(
PHONETIC(OFFSET(B2,,,MAX((SUBTOTAL(3,OFFSET(A2,,,ROW($1:$10)))<=2)*ROW($1:$10)))),
"|",REPT(" ",200)),
200)),"无"),"")

F2 陣列公式:

=IF(ISTEXT(A2),IF(B2<>"",TRIM(RIGHT(
SUBSTITUTE(
PHONETIC(OFFSET(B2,,,MAX((SUBTOTAL(3,OFFSET(A2,,,ROW($1:$10)))<=2)*ROW($1:$10)))),
"|",REPT(" ",200)),
200)),"无"),"")

※陣列公式,請記得按Ctrl+Shift+Enter

※如果有解決您的問題,再請將帖子設為[已解決]

祝順心,南無阿彌陀佛!


log.png

用函数提取.rar

12.82 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2019-10-16 21:28 | 显示全部楼层
cutecpu 发表于 2019-10-16 16:25
因為不知道您的 Excel 版本,所以用了 PHONETIC 函數來替您解答:

E2 陣列公式:

提取的数据正确无误,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 12:31 , Processed in 0.375184 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表