Page 1 of 2
รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 2:34 pm
by bank9597

อาจารย์ครับ ผมอยากจะขอสูตรการ Mach (ไม่แน่ใจว่าใช่ไหม)
โจทย์คือ ผมมีฟอร์มสั่งซื้อ (Order) กับฟอร์มรับสินค้าเข้า (In) โดยผมได้บันทึกการสั่งซื้อไปแล้ว
เมื่อมีสินค้ามาส่ง
ผมก็คีย์ข้อมูลลงไปในฟอร์ม (In) ทีนี้ผมจะทำอย่างไรให้มีการแสดงสถานะของสินค้าในฟอร์มสั่งซื้อ (Order) (สำหรับสินค้าตัวที่ส่งแล้ว ให้ขึ้นสถานะว่า "ส่งแล้ว")
รบกวนอาจารย์ช่วยดูให้หน่อยน่ะครับ
Test.xlsx
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 2:47 pm
by snasui

เงื่อนไขคือดูว่าเป็นชื่อสินค้าเดียวกันหรือว่ามีเงื่อนไขอื่นใดเพิ่มเติมอีกหรือไม่ครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 2:58 pm
by bank9597
ครับอาจารย์ ให้ดูว่าเป็นสินค้าตัวเดียวกัน จำนวนสั่งซื้อเดียวกัน ครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 3:05 pm
by snasui

ลองตามนี้ครับ
เซลล์ E3 คีย์
=IF(SUMPRODUCT(--(C3=In!$C$3:$C$10),--(D3=In!$D$3:$D$10))>0,"ส่งแล้ว","")
Enter > Copy ลงด้านล่าง
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 3:18 pm
by bank9597
ได้แล้วครับอาจารย์
อาจารย์ครับ แล้วถ้ากรณี สินค้ามาส่งแล้ว แต่ ส่งไม่ครบ เราจะทำอย่างไร รวมไปถึงการสั่งสินค้ารหัสเดียวกัน จำนวนเดียวกันซ้ำกัน 2 ครั้ง ไม่ทราบว่าสูตรจะแยกได้ไหม หรือต้องมีลำดับการทำรายการเป็นตัวกำหนดครับ
ผมคิดว่าน่าจะต้องต่อกระทู้ถามอาจารย์อีกค่อนข้างยาวเลยครับ รบกวนอาจารย์ด้วยน่ะครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 3:24 pm
by snasui

การหาค่าในลักษณะนี้จำเป็นจะต้องกำหนดรหัสกำกับขึ้นมาครับ ซึ่งรหัสนั้นจะไม่ซ้ำกัน
ยกตัวอย่างเช่นมี Bar code กำกับ สินค้าเดียวกัน จำนวนเดียวกันแต่ code ต่างกัน เช่นนี้เราสามารถติดตามได้ตลอดเวลา
หรือไม่ก็ต้องกำหนดเงื่อนไขเพิ่มเข้ามาเพื่อให้ไม่เหมือนกัน เช่น ชื่อสินค้า จำนวน รหัสใบสั่งซื้อ ฯลฯ แต่การใช้เงื่อนไขจำนวนมากจะมีผลทำให้เครื่องคำนวณนานหากมีรายการจำนวนมาก
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 3:33 pm
by bank9597
ครับอาจารย์
แสดงว่าผิดมาตั้งแต่ต้นเลยสิครับ เพราะว่าผมจะกำหนดสินค้าชนิดเดียวกันเป็น 1 รหัส ไม่ได้แยกรหัสละ 1 สินค้า เหมือนกับระบบทรัพย์สิน
ผมควรจะทำยังไงต่อดีครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 3:38 pm
by snasui

อ่านตามที่ผมตอบไปแล้วลองปรับมาเองครับว่าควรจะเป็นลักษณะใดเพื่อให้รหัสไม่ซ้ำกัน ทำเรียบร้อยแล้วก็ค่อยนำมาดูกันต่อว่าใช้ได้หรือไม่ได้ครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 3:43 pm
by bank9597
ได้ครับ จะลองทำเลยครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 6:38 pm
by bank9597
อาจารย์ครับ ผมได้เพิ่มคอลัมน์ไปอีก 1 คอลัมน์ เป็นคอลัมน์ที่ใส่ลำดับบันทึกการสั่งซื้อ (1,2,3.....) ซื่งจะไม่ซ้ำกันแน่นอน
เบื้องต้นผมได้กำหนดเงื่อนไขใหม่ โดยให้เป็นลำดับการสั่งซื้อ กับ จำนวนสินค้าที่ส่ง ถ้า 2 เงื่อนไขนี้ Mach กัน สูตรก็จะแสดงสถานะ "ลงแล้ว"
แต่ที่ยากก็คือ ในกรณีการส่งสินค้าไม่ครบ ผมควรจะทำอย่างไร หากเป็นไปได้ อยากให้อาจารย์เพิ่มเติมสูตรเดิมดู โดยกำหนดเงื่อนไขเพิ่มเข้าไป เช่น ถ้าเงื่อนไขถูกต้องทั้ง 2 ตำแหน่งให้ขึ้นสถานะว่า "ลงแล้ว" แต่ถ้าจำนวนสินค้าไม่ถูกต้อง ให้ขึ้นสถานะ "ค้างส่ง" ไม่รู้จะทำได้ไหมน่ะ (หากทำไม่ได้ ผมขอโทษอาจารย์ด้วยครับ อิอิ)
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 6:47 pm
by snasui
bank9597 wrote:ในกรณีการส่งสินค้าไม่ครบ ผมควรจะทำอย่างไร

กรณี รหัส PO เดียวกันก็ต้องแยกเป็น Sub PO ครับ ถ้าแยกเป็น 3 ชุดก็แยกเป็น Sub PO อีก ตัว
เช่น
รหัส PO|Sub PO
===========
101|101-01
101|101-02
101|101-03

เส้น | หมายถึงเส้นแบ่งคอลัมน์ ลองปรับมาอีกรอบครับ จะได้เขียนสูตรทีเดียว
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 8:09 pm
by bank9597
เข้าใจที่อาจารย์บอกแล้วครับ
แต่ทีนี้ถ้าผม เปลี่ยนจากรหัส PO มาเป็นลำดับแทนละครับ (คือผมไม่ยึด PO โดยจะเอารายการใน PO มาบันทึกเป็นรายตัวเลยคับ) ไม่ทราบว่าอย่างนี้จะได้ไหมครับ
Test.xlsx
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 8:23 pm
by snasui

ลองตามนี้ครับ
ปรับสูตรที่เซลล์ F3 เป็น
=IF(SUMPRODUCT(--(A3=In!$A$3:$A$40),--(C3=In!$C$3:$C$40),--(D3=In!$D$3:$D$40),--(E3=In!$E$3:$E$40))>0,"ส่งแล้ว","")
Enter > Copy ลงด้านล่าง
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 8:34 pm
by bank9597

อิอิ อาจารย์อ้างอิง 4 ตำแหน่งเลย อุปสรรคแรกผ่านไปแล้วครับ
อุปสรรคที่ 2 คือ ถ้ามีการส่งสินค้าไม่ครบ เราควรทำอย่างไรต่อครับ
อยากอาจารย์ให้แนวคิดคับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 8:40 pm
by snasui
bank9597 wrote:อุปสรรคที่ 2 คือ ถ้ามีการส่งสินค้าไม่ครบ เราควรทำอย่างไรต่อครับ
อยากอาจารย์ให้แนวคิดคับ
ช่วยอธิบายความหมายของคำว่าส่งสินค้าไม่ครบให้เข้าใจอีกสักครั้งครับ เนื่องจากผมพยายามให้แตก Sub PO ออกมาแล้วตามนี้
snasui wrote:bank9597 เขียน:
ในกรณีการส่งสินค้าไม่ครบ ผมควรจะทำอย่างไร
กรณี รหัส PO เดียวกันก็ต้องแยกเป็น Sub PO ครับ ถ้าแยกเป็น 3 ชุดก็แยกเป็น Sub PO อีก 3 ตัว
เพื่อจะบอกว่าใน PO นั้นมีสินค้าเท่าไร เมื่อแยกกันส่งก็เลยต้องแตกเป็น Sub PO หากซับซ้อนกว่านั้น ใน Sub PO ก็ยังส่งไม่ครบอีก ก็ต้องแตกเป็น Sub of Sub PO ครับ เพื่อให้เป็น Unique Record ให้ได้ และเมื่อเป็นเช่นนี้จึงไม่ควรจะมีปัญหาเรื่องการส่งไม่ครบครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 8:48 pm
by bank9597
ขอโทษอาจารย์ด้วยน่ะครับ ถ้าผมไม่เข้าใจ
คือว่าสินค้าบางรายการเมื่อสั่งซื้อไปแล้ว สินค้าจะทยอยส่งเรื่อยๆ จนครบจำนวนที่สั่งซื้อครับ ผมเลยต้องมีสถานะ "ค้างส่ง" ด้วยครับ
ผมไม่รู้ว่าจะซับซ้อนมากไปไหม เพราะผมก็งงไม่ใช่น้อยเหมือนกัน อิอิ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 9:27 pm
by snasui

ผมแยกคอลัมน์เป็น ส่งแล้วกับค้างส่ง ลองดูตามไฟล์แนบว่าใช่ที่ต้องการหรือเปล่าครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 9:39 pm
by bank9597

ไม่รู้จะขอบคุณยังไง กับที่อาจารย์ช่วยแนะนำให้ แก้ไขได้ตรงจุด หมดปัญหาแล้วครับ
ผมขอบคุณอาจารย์มากๆครับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 10:23 pm
by bank9597
อีกนิดครับอาจารย์

(จากไฟฟล์ที่อาจารย์แนบมาให้) ผมได้เพิ่มชีทชื่อ "รอจัดส่ง" ไปอีกหนึ่งชีท เพื่อจะคัดแต่สินค้าที่รอการจัดส่ง (หรือสินค้าที่มีค่ามากกว่า 0 นั่นเอง) ผมจะใส่สูตรในชีท "รอจัดส่ง" ช่อง A2 คีย์ =COUNTIF(Order!G3:G3000,">0") ในช่อง B2 คีย์ =IF(ROWS($B$2:B2)>$A$2,"",INDEX(Order!$B$2:$B$100,SMALL(IF(Order!$G$2:$G$100=
">0",ROW(Order!$B$2:$B$100)-ROW(Order!$G$2)+1),ROWS($B$2:B2))))
แต่ก็ยังไม่แสดงผล ผมต้องใส่เงื่อนไขอย่างไรคับ
Re: รบกวนอาจารย์ช่วยหน่อยครับ
Posted: Fri Sep 16, 2011 11:07 pm
by bank9597
ลืมถาม! อาจารย์ครับสูตรนี้ =IF(ROWS($B$2:B2)>$A$2,"",INDEX(Order!$B$2:$B$100,SMALL(IF(Order!$G$2:$G$100=">0",ROW(Order!$B$2:$B$100)-ROW(Order!$G$2)+1),ROWS($B$2:B2))))
ที่ผมทำสีคอลัมน์ในสูตรไว้ คือผมอยากรู้ว่า เราจำเป็นไหมที่ต้องทำให้ชื่อคอลัมน์เหมือนกันทุกครั้งที่เปลี่ยนคอลัมน์
เพราะที่ผมใช้งานมา ผมไม่ได้เปลี่ยนให้เหมือนกันหมด แต่มันก็แสดงผลถูกต้อง ผมเลยงง รบกวนอาจารย์ให้คำตอบด้วยน่ะครับ อิอิ