Page 1 of 1
สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Wed Feb 08, 2017 11:18 pm
by rinjang5027
สวัสดีค่ะอาจารย์ ไม่ถนัด Excel ค่ะ แต่ได้โจทย์มาว่า
ต้องการ เฉพาะสินค้าที่หมดอายุ ใน Sheet ข้อมูล Stock Balance (H7,K7,N7) มาแสดงที่รายละเอียดที่กำหนดใน Sheet ข้อมูลแสดง
โดยใช้วันที่ปัจจุบันเป็นตัวกำหนดค่ะ
Re: สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Thu Feb 09, 2017 5:06 am
by snasui

จากตัวอย่างไฟล์ที่แนบมา ช่วยกรอกตัวอย่างคำตอบที่ต้องการมาด้วย พร้อมทั้งอธิบายมาสักสองสามเซลล์ว่า นำค่ามาจากเซลล์ใด ด้วยเงื่อนไขใด จะได้เข้าใจตรงกันครับ
Re: สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Thu Feb 09, 2017 9:36 am
by rinjang5027
รบกวนอาจารย์แนะนำด้วยนะคะ เพื่อเป็นความรู้ไว้ศึกษาข้อมูล
ไพรินไม่มีความรู้ด้านใช้สูตรที่ซับซ้อนเลยค่ะ
Re: สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Thu Feb 09, 2017 8:34 pm
by snasui

ตัวอย่างสูตรครับ
- ที่ชีต Data
- AU7 คีย์สูตร เพื่อนับว่ามีวันที่น้อยกว่าหรือเท่ากับวันที่กำหนดหรือไม่
=COUNTIFS(G7:R7,">42000",G7:R7,"<="&ข้อมูลแสดง!$B$5)
Enter > Copy ลงด้านล่างถึง AU175
- AU176 คีย์สูตร
=SUM(AU7:AU175)
Enter
- AT6 คีย์สูตร 0 เพื่อเป็นค่าเริ่มให้กับสูตรที่ AT7
Enter
- AT7 คีย์สูตรเพื่อให้ลำดับค่าที่เข้าเงื่อนไข
=IF(N(AU7),LOOKUP(9.9999999999999E+307,AT$6:AT6)+1,"")
Enter > Copy ลงด้านล่างถึง AT175
- AV7 คีย์สูตรเพื่อเป็นบรรทัดเริ่มของแต่ละชุดข้อมูล
=IF(N(AU7),SUM(AU$7:AU7)-AU7+1,"")
Enter > Copy ลงด้านล่างถึง AV175
- ที่ชีตข้อมูลแสดง
- A9 คีย์สูตร
=IF(ROWS(A$9:A9)>Data!$AU$176,"",LOOKUP(ROWS(A$9:A9),Data!$AV$7:$AV$174,Data!B$7:B$174))
Enter > Copy ไปด้านขวาจนถึง D9 แล้วลงด้านล่างจนเห็นเป็นค่าว่าง
- E9 คีย์สูตร
=IF($A9="","",INDEX(INDEX(Data!$G$7:$Q$174,MATCH($C9,Data!$D$7:$D$174,0),0),SMALL(IF(Data!$G$5:$Q$5="วันหมดอายุ",IF(INDEX(Data!$G$7:$Q$174,MATCH($C9,Data!$D$7:$D$174,0),0)<=$B$5,COLUMN(Data!$G$5:$Q$5)-COLUMN(Data!$G$5)+1)),COUNTIF(C$9:C9,C9))))
Ctrl+Shift+Enter > Copy ลงด้านล่างจนเห็นเป็นค่าว่าง
- F9 คีย์สูตร
=IF($A9="","",INDEX(INDEX(Data!$G$7:$Q$174,MATCH($C9,Data!$D$7:$D$174,0),0),SMALL(IF(Data!$G$5:$Q$5="จำนวน",IF(INDEX(Data!$G$7:$Q$174,MATCH($C9,Data!$D$7:$D$174,0),0)<=$B$5,COLUMN(Data!$G$5:$Q$5)-COLUMN(Data!$G$5)+1)),COUNTIF(C$9:C9,C9))))
Ctrl+Shift+Enter > Copy ลงด้านล่างจนเห็นเป็นค่าว่าง
Re: สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Fri Feb 10, 2017 9:17 am
by rinjang5027
ขอบคุณมากค่ะ อาจารย์ ตรงตามข้อมูลที่ต้องนำมาใช้งานมากค่ะ
Re: สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Fri Feb 10, 2017 10:34 am
by rinjang5027
อาจารย์ค่ะ วันที่ใน Sheet ข้อมูลแสดง มันขึ้น ไม่ตรงกับที่ Link มาต้องแก้ไขอย่างไรค่ะ
ถามเพิ่มเติมเพื่อนำมาศึกษาค่ะ
1.ที่ชีต Data
1.AU7 คีย์สูตร เพื่อนับว่ามีวันที่น้อยกว่าหรือเท่ากับวันที่กำหนดหรือไม่
=COUNTIFS(G7:R7,">42000",G7:R7,"<="&ข้อมูลแสดง!$B$5) : 42000 หมายความว่าอย่างไร เป็นค่าอะไรค่ะ
2..AT7 คีย์สูตรเพื่อให้ลำดับค่าที่เข้าเงื่อนไข
=IF(N(AU7),LOOKUP(9.9999999999999E+307,AT$6:AT6)+1,"") : 9.9999999999999E+307 หมายความว่าอย่างไร เป็นค่าอะไรค่ะ
รบกวนด้วยนะคะ
Re: สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Sat Feb 11, 2017 6:29 am
by snasui

ปรับสูตรใหม่ที่ชีต ข้อมูลแสดงครับ
- เซลล์ 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 ครับ
Re: สอบถามสูตร เพื่อใช้งานโดยมีวันที่ปัจจุบันเป็นตัวกำหนดรายการสินค้า
Posted: Mon Feb 13, 2017 9:03 am
by rinjang5027
ขอบคุณมากค่ะ อาจารย์