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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)ตามวิธีนี้ถ้า Column D18 เป็นค่าว่าง ข้อมูลของ Text ที่ระบุไว้จะแสดงไม่ครบที่ Column T ค่ะ ถ้าไม่ระบุข้อมูลลงใน Column D18 ปล่อยเป็นค่าว่างและให้ Column T แสดงข้อมูลตามจำนวนของ Information ถ้าครบจำนวน Row ถัดไปจะเป็นค่าว่างค่ะsnasui wrote: Wed Apr 12, 2023 11:06 am กรุณา Update Version ของ Excel ที่ใช้จริงตามหัวข้อ snasui ยินดีต้อนรับ ด้านบน หรือทำตามขั้นตอนที่ระบุใน Link นี้ครับ viewtopic.php?p=103177#p103177
ตัวอย่างสูตรซึ่งกระจายวิธีคิดตามลำดับตามด้านล่างครับ
จากนั้นคีย์สูตรตามด้านล่าง โดยคอลัมน์ M:R และ T:U เป็นคอลัมน์ช่วย
- ที่เซลล์ M1:R1 คีย์หัวคอลัมน์ตามลำดับดังนี้
Information, Location, Count, Item, Item_All, Accum- ที่เซลล์ T1:X1 คีย์หัวคอลัมน์ตามลำดับดังนี้
No, DT_ID, ID, Detail 1, Detail 2
- ที่ M2 คีย์
=IFERROR(INDEX(D:D,AGGREGATE(15,6,ROW($D$2:$D$18)/($D$2:$D$18<>""),ROWS(M$2:M2))),"")
Enter > Copy ลงด้านล่าง- ที่ N2 คีย์
=MATCH(M2,$D$2:$D$18,0)
Enter > Copy ลงด้านล่าง- ที่ O2 คีย์
=COUNTIFS($B$2:$B$20,M2)
Enter > Copy ลงด้านล่าง- ที่ P2 คีย์
=IF(N3=0,ROWS($D$2:$D$18)+1-N2,N3-N2)
Enter > Copy ลงด้านล่าง- ที่ Q2 คีย์
=O2*P2
Enter > Copy ลงด้านล่าง- ที่ R2 คีย์
=SUM(Q$2:Q2)-Q2+1
Enter > Copy ลงด้านล่าง- ที่ T2 คีย์
=IF(ROWS(T$2:T2)>SUM($Q$2:$Q$4),"",LOOKUP(ROWS(T$2:T2),$R$2:$R$4,$M$2:$M$4))
Enter > Copy ลงด้านล่าง- ที่ U2 คีย์
=IF(T2="","",INT((COUNTIFS(T$2:T2,T2)-1)/VLOOKUP(T2,$M$2:$Q$4,4,0)+1))
Enter > Copy ลงด้านล่าง- ที่ V2 คีย์สูตรเพื่อแสดงคำตอบ
=IF(T2="","",INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$20)/($B$2:$B$20=T2),U2)))
Enter > Copy ลงด้านล่าง- ที่ W2 คีย์สูตรเพื่อแสดงคำตอบ
=IF(T2="","",INDEX(E$2:E$18,VLOOKUP($T2,$M$2:$N$4,2,0)+COUNTIFS(T$2:T2,T2,U$2:U2,U2)-1))
Enter > Copy ไป X2 แล้ว Copy ลงด้านล่าง
แนบไฟล์เพิ่มค่ะsnasui wrote: Mon May 08, 2023 4:51 pm กรุณาแนบไฟล์ล่าสุดที่ติดปัญหาพร้อมแสดงให้เห็นว่าปัญหาคืออะไร ต้องการคำตอบเป็นอย่างไรจะได้เข้าใจตรงกันครับ
จาก Profile ที่ Update มาแสดงว่าใช้ Excel 365 กรุณาทดสอบสูตรที่คุณ Bo_ry ตอบไปด้วยว่าได้ผลหรือไม่ อย่างไร หากได้ผลก็สามารถเลือกใช้วิธีการนั้นได้เลยครับ
ปรับสูตรที่ P2 เป็นด้านล่างครับshevy wrote: Mon May 08, 2023 5:34 pmแนบไฟล์เพิ่มค่ะsnasui wrote: Mon May 08, 2023 4:51 pm กรุณาแนบไฟล์ล่าสุดที่ติดปัญหาพร้อมแสดงให้เห็นว่าปัญหาคืออะไร ต้องการคำตอบเป็นอย่างไรจะได้เข้าใจตรงกันครับ
จาก Profile ที่ Update มาแสดงว่าใช้ Excel 365 กรุณาทดสอบสูตรที่คุณ Bo_ry ตอบไปด้วยว่าได้ผลหรือไม่ อย่างไร หากได้ผลก็สามารถเลือกใช้วิธีการนั้นได้เลยครับ
ไม่เกี่ยวกับข้ามชีทครับ ข้อมูลไม่ตรง สูตรก็ดึงมาไม่ตรงครับshevy wrote: Mon May 08, 2023 5:36 pm วิธีการของคุณ Bo_ry ถ้าดึงข้อมูลข้าม Sheet จะดึงข้อมูลมาไม่ตรงค่ะ