Page 1 of 1
สอบถามสูตรดีงตัวเลข(มิเตอร์)ออจากข้อความ
Posted: Sat Sep 18, 2021 11:05 pm
by Hengheng
เรียน อาจารย์
ต้องการดึงตัวเลขออกจากข้อความ เพื่อทำการตรวจสอบมิเตอร์ค่ะ ไม่ทราบว่าพอจะมีสูตรไหมคะ
ตรวจสอบน้ำไฟ.xlsx
Re: สอบถามสูตรดีงตัวเลข(มิเตอร์)ออจากข้อความ
Posted: Sun Sep 19, 2021 10:11 am
by snasui

ตัวอย่างสูตรครับ
เซลล์ J2 คีย์
=IFERROR(TRANSPOSE(LET(r,LET(md,MID(B2,SEQUENCE(LEN(B2)),1),l,MIN(FILTER(FILTER(SEQUENCE(LEN(B2)),"("=md),ISNUMBER(--MID(B2,FILTER(SEQUENCE(LEN(B2)),"("=md)+1,1)))),h,MAX(FILTER(FILTER(SEQUENCE(LEN(B2)),")"=md),ISNUMBER(--MID(B2,FILTER(SEQUENCE(LEN(B2)),")"=md)-1,1)))),MID(B2,l+1,h-l-1)),rp,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(r,"-"," "),"="," "),")"," "),"("," "),TRIM(MID(SUBSTITUTE(TRIM(rp)," ",REPT(" ",50)),50*SEQUENCE(6,,0)+1,50)))),"")
Enter > Copy ลงด้านล่าง
เพื่ออำนวยความสะดวกในการเติมส่วนที่ขาดได้ง่ายขึ้นครับ
ดูไฟล์แนบประกอบครับ
Re: สอบถามสูตรดีงตัวเลข(มิเตอร์)ออจากข้อความ
Posted: Sun Sep 19, 2021 2:18 pm
by Hengheng
ขอบคุณค่ะอาจารย์ทำได้แล้วค่ะ แต่ขออนุญาตสอบถามเพื่อเป็นความรู้หน่อยค่ะว่า
1.สูตร Transpose และ Sequence อันนี้ใช้สำหรับอะไรคะ
2. ทำไมบาง Rows ถึงไม่มีข้อมูลขึ้นคะ
3. แล้วในกรณีที่มี 3 มิเตอร์ขึ้น หนูจะต้องใส่สูตรเพิ่มเติมยังไงคะ
ตามไฟล์แนบค่ะ
ขอบคุณค่ะ
Re: สอบถามสูตรดีงตัวเลข(มิเตอร์)ออจากข้อความ
Posted: Sun Sep 19, 2021 3:31 pm
by snasui

ตัวอย่างการปรับสูตรครับ
C2 คีย์
=IFERROR(TRANSPOSE(LET(r,LET(x,SUBSTITUTE(B2," )",")"),y,LEN(x),md,MID(x,SEQUENCE(y),1),l,MIN(FILTER(FILTER(SEQUENCE(y),"("=md),ISNUMBER(--MID(x,FILTER(SEQUENCE(y),"("=md)+1,1)))),h,MAX(FILTER(FILTER(SEQUENCE(y),")"=md),ISNUMBER(--MID(x,FILTER(SEQUENCE(y),")"=md)-1,1)))),MID(x,l+1,h-l-1)),rp,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(r,"-"," "),"="," "),")"," "),"("," "),TRIM(MID(SUBSTITUTE(TRIM(rp)," ",REPT(" ",50)),50*SEQUENCE(7,,0)+1,50)))),"")
Enter > Copy ลงด้านล่าง
Hengheng wrote: Sun Sep 19, 2021 2:18 pm
1.สูตร Transpose และ Sequence อันนี้ใช้สำหรับอะไรคะ
Transpose ใช้สลับแกนข้อมูลครับ แนวคอลัมน์เป็นแนวบรรทัดหรือกลับกัน, Sequence ใช้สำหรับการแสดงค่าลำดับ เช่นเริ่มจาก 1 ถึง 10 เป็นต้น
Hengheng wrote: Sun Sep 19, 2021 2:18 pm
2. ทำไมบาง Rows ถึงไม่มีข้อมูลขึ้นคะ
เพราะมีวรรคคั่นระหว่างวงเล็บปิดกับตัวเลข
Hengheng wrote: Sun Sep 19, 2021 2:18 pm
3. แล้วในกรณีที่มี 3 มิเตอร์ขึ้น หนูจะต้องใส่สูตรเพิ่มเติมยังไงคะ
ถ้ามีหลายมิเตอร์และเขียนติด ๆ กันลองเพิ่มเลข 7 ในฟังก์ชั่นนี้เป็นตัวเลขที่เพิ่มขึ้นครับ
SEQUENCE(7,,0)
Re: สอบถามสูตรดีงตัวเลข(มิเตอร์)ออจากข้อความ
Posted: Sun Sep 19, 2021 3:47 pm
by Hengheng
ขอบคุณสำหรับคำแนะนำมากๆเลยค่ะอาจารย์
Re: สอบถามสูตรดีงตัวเลข(มิเตอร์)ออจากข้อความ
Posted: Sun Sep 19, 2021 4:29 pm
by snasui

จากตัวอย่างไฟล์ล่าสุดลองใช้สูตรนี้ครับ
=IFERROR(LET(x,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(B2,MIN(SEARCH({"แก๊ส","ไฟฟ้า","ประปา"},B2&"แก๊สไฟฟ้าประปา")),255),"(","|"),")","|"),"-","|"),"=","|"),y,MID(SUBSTITUTE(x,"|",REPT(" ",50)),50*SEQUENCE(20,,0)+1,50),--TRANSPOSE(FILTER(y,ISNUMBER(--y)))),"")
Re: สอบถามสูตรดีงตัวเลข(มิเตอร์)ออจากข้อความ
Posted: Sun Sep 19, 2021 10:06 pm
by Bo_ry
C2
=IF(B2="","",TRANSPOSE(FILTERXML("<x><m>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(LEFT(B2,FIND("@",B2)-2),FIND(" (",B2)+2,99),"=","-"),"+","-"),"(",),")",),"-","</m><m>")&"</m></x>","//m")))