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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)แนบไฟล์ล่าสุดมาด้วย ชี้ให้เห็นปัญหาและระบุคำตอบที่ต้องการมาด้วยครับseeper wrote:ติดปัญหาอีกนิดครับงั้นพวก C11,C11,C11,C17,C25,C47,C61,C77,C95 ผมต้องใส่เป็นสูตรเอาเพื่อให้ไม่มีค่าถ้าค่าไปไม่ถึง เช่น C95 จะไม่มีค่าถ้าที่ช่อง E 15 ไม่มี หลังจากทำแล้วค่าที่ได้ที่ช่อง F เป็น #REF! ครับแก้ไงดีครับ
โพสต์นี้ตอบคำถามก่อนหน้าที่จะเปลี่ยนโจทย์=IF(OR(D6="",E6=""),"",SUMIF(OFFSET(INDIRECT("C6:"&LOOKUP(CHAR(255),D:D)),0,-1),E6,INDIRECT("C6:"&LOOKUP(CHAR(255),D:D))))
แนบตัวอย่างโจทย์มาใหม่ จะได้เห็นว่าข้อมูลเป็นอย่างไร ระบุเซลล์มาถูกต้องหรือไม่ ฯลฯseeper wrote:ลอง sumif แล้ว ขึ้น 0 ครับ
Code: Select all
=IF(OR(D6="",E6=""),"",SUMIF(OFFSET(INDIRECT("C6:"&LOOKUP(CHAR(255),D:D)),0,-1),E6,INDIRECT("C6:"&LOOKUP(CHAR(255),D:D))))
Code: Select all
=IF(OR(D6="",E6=""),"",SUMIF(OFFSET(INDIRECT("C6:"&LOOKUP(CHAR(255),D:D)),0,-1),E6,INDIRECT("C6:"&LOOKUP(CHAR(255),D:D))))
=IF(OR(D6="",E6=""),"",SUMIF(OFFSET(INDIRECT("C6:"&LOOKUP(CHAR(255),D:D)),0,-1),E6,INDIRECT("C6:"&LOOKUP(CHAR(255),D:D))))
=IF(OR(D6="",E6=""),"",SUMIF(OFFSET(INDIRECT("C6:"&LOOKUP(CHAR(255),D:D)),0,-1),E6,INDIRECT("C6:"&LOOKUP(CHAR(255),D:D))))
จะแก้ให้เป็นอะไรครับseeper wrote:เรื่องที่ไม่เข้าเงื่อนไขนั้นพอมีทางแก้ได้ไหมครับ
ปรับสูตรที่ J6 เป็นseeper wrote:ติดปัญหาอีกนิดครับงั้นพวก C11,C11,C11,C17,C25,C47,C61,C77,C95 ผมต้องใส่เป็นสูตรเอาเพื่อให้ไม่มีค่าถ้าค่าไปไม่ถึง เช่น C95 จะไม่มีค่าถ้าที่ช่อง E 15 ไม่มี หลังจากทำแล้วค่าที่ได้ที่ช่อง F เป็น #REF! ครับแก้ไงดีครับ
Code: Select all
=IF(OR(H6="",I6=""),"",SUMIF(OFFSET(INDIRECT("C6:"&LOOKUP(2,1/(H:H<>""),H:H)),0,-1),I6,INDIRECT("C6:"&LOOKUP(2,1/(H:H<>""),H:H))))
ผมต้องการจะตอบด้วยสูตรด้านบน แต่ไป Copy สูตรมาผิด ขออภัยด้วยครับsnasui wrote: J6 เปลี่ยนสูตรเป็นEnter > Copy ลงด้านล่างCode: Select all
=IF(OR(D6="",E6=""),"",SUMIF(OFFSET(INDIRECT("C6:"&LOOKUP(CHAR(255),D:D)),0,-1),E6,INDIRECT("C6:"&LOOKUP(CHAR(255),D:D))))
ส่วนคำตอบได้ 0 เพราะไม่เข้าเงื่่อนไข
Code: Select all
=IF(OR(D6="",E6=""),"",SUMIF(INDIRECT("A6:"&LOOKUP(2,1/(D:D<>""),D:D)),E6,OFFSET(INDIRECT("A6:"&LOOKUP(2,1/(D:D<>""),D:D)