作者ilf0121 (思想的崛起)
看板Office
标题Re: [文件] EXCEL 撷取特定位子数字问题
时间Sun Oct 23 23:18:06 2022
不好意思 又来请教各位神一般的大大
一样资料,但又有两个问题想求解,恳请大大解惑
以下资料都在A1格
买家收件地址
张***, ***9891
971花莲县*******18号
运送资讯
包裹1: 卖家宅配
共 1 个商品
095****-----------有可能全数字
买家的私讯
427**** ---------有可能全数字
进帐资讯
查看进帐明细
编号
商品
单价
数量
小计
1
伞架
规格:伞架古铜色 ZMAX
商品选项货号: ZMAX
1,086
2---------A3格要取这个值
2,172
隐藏入帐明细
订单金额
商品价格
卖家运费总支付
买家支付运费
手续费
成交手续费
金流服务费
订单进帐
NT$1,086
NT$2,172
NT$80
NT$80---------A4格要取这个值
-NT$60
-NT$39
-NT$21
NT$2,172
A3格的部分
以下是原公式会因为 有可能全数字的时候判别错位的数值
所以想先用筛选的方式 筛出主要用的资料部分
=IFS(
COUNTIF(L1,"*自*")=1,0, 这个是自己筛选判断用的跟主要无关
COUNTIF(L1,"*S*")=1,IFS( 这个是自己筛选判断用的跟主要无关
COUNTIF(A1,"*小计 这个就是主要判断公式
*")=1,INDEX(FILTERXML("<x><y>"&SUBSTITUTE(SUBSTITUTE(A1,",",""),
CHAR(10),"</y><y>")&"</y></x>","//y[.*0=0]"),3),TRUE,""),TRUE,"")
想先用
=IFERROR(CLEAN(MID(A1,FIND("货号:",A1)+2,FIND("隐藏入帐",A1)-FIND("货号:",A1))),"")
但是小弟实在 CHAR(10) 资料分列 用的不好 , 加上FILTERXML实在看不太懂怎麽用
把以下资料先筛出来 就不用管上面的 有可能全数字的部分 然後去取第三列的数字,
数值破千会有千位号,
商品选项货号: ZMAX
1,086
2---------A3格要取这个值
2,172
隐藏
A4格的部分
因为之前大大们是求解直接最下面的NT$2,172
但现在要取NT$的第四列所以又卡关了
不好意思是否能麻烦大大协助
基本想法也是想说 先把先筛选出 订单进帐後面的资料
再做分析 以免被上面的资料干扰
订单进帐
NT$1,086
NT$2,172
NT$80
NT$80---------A4格要取这个值
-NT$60
-NT$39
-NT$21
NT$2,172
恳请大大协助 非常感谢 若大大愿意协助 请给小弟个机会 送上P币感激
以上附上档案连结 还有几个可能会出现的资料显示
https://reurl.cc/60A8Nk
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.169.103.51 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1666538288.A.413.html
1F:→ SuckCopy: a3=FILTERXML("<x><y>"&SUBSTITUTE(A1,CHAR(10), 10/24 13:28
2F:→ SuckCopy: "</y><y>")&"</y></x>","//y[23]") 10/24 13:28
3F:→ SuckCopy: a4就将23改为37 10/24 13:29
4F:→ SuckCopy: 上面固定位置,或"//y[following::*[2]='隐藏入帐明细'] 10/24 13:57
5F:→ SuckCopy: xpath="//y[preceding::*[4]='订单进帐']" 10/24 13:58
6F:→ ilf0121: 实在非场感激S大神,这函数太好用了!!原来可以直接算 10/25 03:56
7F:→ ilf0121: 资料行数 往上算 往下算 来撷取资料 真的太好用了! 感激 10/25 03:57
8F:→ ilf0121: P币奉上 请S大神笑纳 不知道有没有送成功 第一次送 谢谢 10/25 04:03
9F:→ ilf0121: 请教S大神 若想撷取资料内容的连续两行 合并成一行显示 10/25 17:18
10F:→ ilf0121: 买家收件地址 10/25 17:18
11F:→ ilf0121: 张***, ***9891 10/25 17:18
12F:→ ilf0121: 971花莲县*******18号 10/25 17:18
13F:→ ilf0121: 比如资料内 的这三行想撷取下来 输出成一行 该怎麽使用 10/25 17:19
14F:→ ilf0121: =FILTERXML("<x><y>"&SUBSTITUTE(A1,CHAR(10),"</y><y>") 10/25 17:21
15F:→ ilf0121: &"</y></x>","//y[preceding::*[3]='买家收件地址']")) 10/25 17:21
16F:→ ilf0121: 请问可以用这个语法解取连续两行资料吗? 把资料撷取成 10/25 17:22
17F:→ ilf0121: 张***, ***9891 需空格或是其他符号分隔 971花莲县****** 10/25 17:23
18F:→ ilf0121: 目前想到是使用&来串接两段,但想看看有没有更简便的使用 10/26 05:39
19F:→ ilf0121: 方式 10/26 05:39
20F:→ SuckCopy: REPLACE(SUBSTITUTE(LEFT(A1,FIND("号",A1)), 10/26 11:34
21F:→ SuckCopy: CHAR(10),","),1,7,"") 10/26 11:35
22F:→ ilf0121: 感激S大大解惑,这边来试看看,谢谢 10/27 01:53
23F:→ ilf0121: 谢谢大神 这好简短的公式!好好用喔 10/29 08:52