
ปรับสูตรใหม่ที่ชีต ข้อมูลแสดงครับ
- เซลล์ E9 คีย์
=IF($A9="","",INDEX(INDEX(Data!$G$7:$Y$174,MATCH($C9,Data!$D$7:$D$174,0),0),SMALL(IF(Data!$G$5:$Y$5="วันหมดอายุ",IF(INDEX(Data!$G$7:$Y$174,MATCH($C9,Data!$D$7:$D$174,0),0)<>"",IF(INDEX(Data!$G$7:$Y$174,MATCH($C9,Data!$D$7:$D$174,0),0)<=$B$5,COLUMN(Data!$G$5:$Y$5)-COLUMN(Data!$G$5)+1))),COUNTIF(C$9:C9,C9))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- เซลล์ F9 คีย์
=IF($A9="","",INDEX(INDEX(Data!$G$7:$Y$174,MATCH($C9,Data!$D$7:$D$174,0),0),MATCH(E9,INDEX(Data!$G$7:$Y$174,MATCH($C9,Data!$D$7:$D$174,0),0),0)-1))
Enter > Copy ลงด้านล่าง
rinjang5027 wrote:42000 หมายความว่าอย่างไร เป็นค่าอะไรค่ะ
ตัวเลขนี้แทนตัวเลขวันที่ ซึ่งจะต้องมากกว่าตัวเลขของวันที่ที่มี Serial Number 42000 ขึ้นไป สามารถปรับสูตรเสียใหม่เป็นด้านล่างเพื่อจะได้เข้าใจมากขึ้นครับ
ชีต Data เซลล์ AU7 คีย์สูตร
=COUNTIFS($G$5:$Y$5,"วันหมดอายุ",G7:Y7,"<="&ข้อมูลแสดง!$B$5)
Enter > Copy ลงด่านล่าง
rinjang5027 wrote:IF(N(AU7),LOOKUP(9.9999999999999E+307,AT$6:AT6)+1,"") : 9.9999999999999E+307 หมายความว่าอย่างไร เป็นค่าอะไรค่ะ
เป็นค่าที่ใหญ่ที่สุดที่สามารถคีย์ลงในเซลล์ได้ เป็นการประยุกต์เพื่อหาค่าตัวเลขสุดท้ายในช่วง AT$6:AT6 และบวกอีก 1 เพื่อให้เป็นลำดับถัดไปครับ
สูตรพวกนี้จะซับซ้อนและทำความเข้าใจยากมาก เนื่องจากเป็นการนำรายงานมาทำรายงาน สูตรจะง่ายลงหากข้อมูลเป็น Database ครับ