EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)ขอบคุณคะnorkaz wrote: Mon Dec 11, 2023 8:07 pm ...
C2
=IFERROR(SUBSTITUTE(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(C$2:C2))),"ถึง ",""),"")
Copy สูตรลงไป
D2
=IFERROR(LEFT(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(D$2:D2))+1),SEARCH(" ",INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(D$2:D2))+1))-1),"")
Copy สูตรลงไป
E2
=TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IFERROR(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(E$2:E2))+1),""),F2&" "&"จ."&G2,""),D2,""),",",""))
Copy สูตรลงไป
F2
=IFERROR("อ."&LEFT(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(F$2:F2))+2),SEARCH(",",INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(F$2:F2))+2))-1),"")
Copy สูตรลงไป
G2
=IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(G$2:G2))+2),H2,""),F2,""),",",""),SEARCH(" ",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(G$2:G2))+2),H2,""),F2,""),",",""))+1,99),"")
Copy สูตรลงไป
H2
=IFERROR(RIGHT(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(H$2:H2))+2),5),"")
Copy สูตรลงไป
J2
=IFERROR(RIGHT(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(J$2:J2))+27),19),"")
Copy สูตรลงไป
I2
=IFERROR(LEFT(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(I$2:I2))+10),18),"")
Copy สูตรลงไป
K2
=IFERROR(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(K$2:K2))+19),"")
Copy สูตรลงไป
L2
=IFERROR(MID(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(L$2:L2))+22),2,11),"")
Copy สูตรลงไป
M2
=IFERROR(LEFT(N2,3)&LEFT(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(M$2:M2))+23),8),"")
Copy สูตรลงไป
N2
=IFERROR(MID(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(N$2:N2))+23),10,99)&SUBSTITUTE(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(C$2:C2))+24),"]",""),"")
Copy สูตรลงไป
O2
=IFERROR(SUBSTITUTE(INDEX($A$1:$A$9999,AGGREGATE(15,6,ROW($A$1:$A$9999)/SEARCH("ถึง",$A$1:$A$9999),ROWS(O$2:O2))+25),"Total ",""),"")
Copy สูตรลงไป
**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***
แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
...
ขอบคุณคะnorkaz wrote: Wed Dec 13, 2023 7:56 am ...
1. ข้อมูลแต่ละชุดมี 33 แถว ทุกชุด ต้องมี 33 แถวเท่ากันครับ
2. การวางข้อมูล ต้องติดกันทุกชุด การวางต้องเป็นรูปแบบเดียวกันเสมอ ไม่สามารถ บางชุดวางติดกัน บางชุดวาง เว้นแถวกัน
ถ้ารูปแบบการวาง ตาม ข้อ 1-2 สูตรที่เขียนไปตามไฟล์แนบนี้ควร ถูกต้อง
** ตามหลักการ Import ข้อมูลในลักษณะนั้น ปกติ ข้อมูล ควรมาเท่ากันทุกชุด ถ้ามีข้อมูลชุดละ 33 แถวก็ต้อง 33 แถว เท่ากัน
ถ้ามีรายการอื่นๆ เพิ่ม เช่น ค่าส่งทางไกล ค่า COD ค่าอื่นๆ ชุดข้อมูลก็ต้องเท่ากันทุกชุด เช่นกัน
ลองวางข้อมูล ตามที่แนะนำไป หากติดอะไร ให้แนบไฟล์ นั้น แล้ว ถาม ตอบ ต่อไปจากนั้นครับ
**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***
แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
ตามตัวอย่างที่แนบคะnorkaz wrote: Wed Jun 19, 2024 2:58 pm ...
รบกวน ท่านเจ้าของคำถาม ช่วยแสดง " ตัวอย่าง " คำตอบ มาดูว่า ที่ถูกต้อง ต้องเป็น แบบใด
**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***
แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
ขอดทษด้วยคะ ที่แจ้งข้อมูลไม่ชัดเจนnorkaz wrote: Wed Jun 19, 2024 10:06 pm ...
1.ถ้าเข้าใจถูกต้อง ตัวอย่าง ที่ให้มาคือ ที่ระบายสีเหลือง ใช่หรือไม่?
ถ้าใช่คำตอบที่ถูกต้อง จากตัวอย่างนั้น มีการเขียนสูตรไว้แล้ว
2.เหตุใด ท่าน เจ้าของคำถามจึงสอบถามเรื่องการเขียนสูตรเข้ามา อีกครับ ในเมื่อคำตอบนั้นถูกต้องอยู่แล้ว???
**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***
แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
ขอบคุณคะnorkaz wrote: Thu Jun 20, 2024 2:28 pm ...
D2
=SUBSTITUTE(INDEX($A$1:$A$999,AGGREGATE(15,6,ROW($A$1:$A$999)/(SEARCH(C2,$A$1:$A$999)>0),1)-7)&INDEX($A$1:$A$999,AGGREGATE(15,6,ROW($A$1:$A$999)/(SEARCH(C2,$A$1:$A$999)>0),1)-6)&INDEX($A$1:$A$999,AGGREGATE(15,6,ROW($A$1:$A$999)/(SEARCH(C2,$A$1:$A$999)>0),1)-5),"ชำระโดยไม่ใช้เงินสด","")
ควรปรับ ฐานข้อมูลที่คอลัมน์ A ให้เท่ากันทุกช่วง กรณีที่ข้อมูลไม่เท่ากันทุกช่วง มีโอกาสที่ ที่อยู่ หรือผลลัพธ์ คลาดเคลื่อน ตามแถวที่ เพิ่มหรือลดลง...
**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***
แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ