Page 3 of 3

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Sun Oct 02, 2011 7:40 pm
by wisit
ขอบคุณมากครับอาจารย์ :lol:

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Tue Oct 04, 2011 6:47 pm
by wisit
:D อาจารย์ครับสูตร =$B30*SUMPRODUCT(--(C$29=ยอดขาย!$B$2:$B$275),--($A30=ยอดขาย!$E$2:$E$275),ยอดขาย!$F$2:$F$275) ที่อาจารย์แนะนำใช้ได้ตรงตามวัตถุประสงค์มากครับ แต่เมื่อคีย์ข้อมูล หรือก๊อปปี้ไฟล์งานอื่น ๆ มาลง ไฟล์งานจะรอการคำนวณนานประมาณ 7-10 นาที ถ้าผมใช้สูตร IF ตามไฟล์ที่แนบ จะช่วยให้ทำงานได้เร็วขึ้นหรือเปล่าครับอาจารย์ :mrgreen: แต่การหายอดขายของพนักงานแต่ละคนผมไม่รู้จะใช้สูตรไหน ที่ไม่ทำให้ไฟล์งานทำงานช้า ผมได้แนบไฟล์ตัวอย่างงานมาให้อาจารย์ช่วยแนะนำด้วยครับ

:tt: ลืมบอกอาจารย์ว่า สูตรที่อาจารย์แนะนำผมใช้ทั้งหมด 10 คอลัมน์็ และใช้ประมาณ 33020 แถว จึงอาจทำให้ทำงานล่าช้ามาก

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Tue Oct 04, 2011 7:22 pm
by snasui
:D ทำ Index ขึ้นมาช่วยดีกว่าครับ ลองดูตัวอย่างตามไฟล์แนบ การเขียนสูตร If ตามที่ถามมานั้นคิดว่าไม่สะดวกแก่การใช้งานครับ

Excel 2003 สามารถคีย์สูตรได้เพียง 1024 อักขระเท่านั้น (2007 ขึ้นไปคีย์ได้มากขึ้นไปอีก 8 เท่า)

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Tue Oct 04, 2011 8:03 pm
by wisit
:D ขอบคุณมากครับอาจารย์ แล้วผมจะลองไปทำดู ถ้าติดขัดยังไงจะรบกวนอาจารย์อีกครั้งครับ :lol:

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 12:22 am
by wisit
:D อาจารย์จากไฟล์งาน เมื่อผมทำการ Validation (รหัสสินค้า ซึ่งเป็น Text) ให้ืต้องคีย์ 00-99 เท่านั้น แต่ตัวเลข 00-99 เป็น Text นะครับ พอมีวิธีที่จะทำให้เราคีย์ได้เฉพาะค่า 00-99 อย่างเดียว เนื่องจากเมื่อเวลาผมคีย์ค่า *9 หรือคีย์อะไรก็ได้ที่มีจำนวน 2 หลักเท่านั้น อีกอย่างครับอาจารย์ พอเวลาผมก๊อปปี้ข้อมูลจากเพื่อนที่ส่งข้อมูลให้ทางเมล์ บางครั้งเพื่อนคีย์รหัสมา 999 เวลาผมก๊อปปี้ลงในไฟล์งานของผม ตรงคอลัมน์รหัสสินค้าที่ผมได้ทำการ Validation กลับไม่โชว์ข้อความเตือน ซึ่งบางครั้งทำให้ผมต้องคอยเช็คว่าเพื่อนคีย์ข้อมูลถูกต้องหรือเปล่า

รบกวนอาจารย์ช่วยด้วยครับ

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 6:52 am
by snasui
:D สมมุติว่าต้องการทำ Validation ในช่วง B8:B11 ให้ทำดังนี้ครับ

1. คลุม B8:B11

2. ใน Validation ให้เลือกเป็น Custom และช่อง Formula คีย์

=AND(ISNUMBER(B8+0),B8>="00",B8<="99")

เพื่อจะดักไม่ให้คีย์อักขระแปลกปลอม

Validation ไม่สามารถดักการ Copy มาวางได้ครับ จะดักได้เฉพาะที่กรอกค่าเข้าไปใหม่ โดยการเลือกหรือการคีย์ หากทำการ Copy มาวางก็ต้องใช้การตรวจสอบโดยเข้าเมนู Tools > Formula Audition > Show Formula Auditing Toolbar > คลิกปุ่มที่ชื่อ Circle Invalid Data หากจะปลดออกก็ให้คลิกปุ่มที่ชื่อ Clear Validation Circles

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 12:19 pm
by wisit
อาจารย์ครับ สูตร =AND(ISNUMBER(B8+0),B8>="00",B8<="99") มีผลทำให้การประมวลผลล่าช้าหรือเปล่าครับ

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 12:58 pm
by snasui
:shock: ถ้าใช้จำนวนมากก็เป็นผลให้ไฟล์ช้าครับ

ทุกการคำนวณต้องใช้เวลาการประมวลผลทั้งนั้นครับ ถ้าพูดถึงใช้กับพื้นที่จำนวนมากแล้ว ตัวอย่างที่ทำให้ไฟล์ช้าก็ได้แก่สูตร Array สูตรพวก Lookup แบบตรงตัว เช่น Vlookup นอกจากนี้ก็มี Object ที่มีจำนวนมาก เช่นที่กำลังจะทำอยู่นี้ก็ใช้ Object เป็นตัว CheckBox เข้ามา หากใช้มาก ๆ ก็ช้าครับ :P

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 2:23 pm
by wisit
:D อาจารย์ครับผมลองทำตามสูตรที่อาจารย์ให้มา แต่ไม่รู้ทำไมถึงทำแล้วไม่สามารถดักจับค่าที่มี 2 หลักได้ครับ เช่น คีย์ 1. โปรแกรมก็ให้ผ่านได้ไม่ขึ้นข้อความเตือน หรือว่าผมทำผิดขั้นตอน ข้อมูลของผมเป็น Text ครับ
รบกวนอาจารย์อีกนิดครับ

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 4:34 pm
by snasui
:lol: เปลี่ยนสูตรใน Validation ใหม่เป็นตามด้านล่างครับ

=AND(ISNUMBER(Left(B8)+0),ISNUMBER(Right(B8)+0),B8>="00",B8<="99")

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 5:38 pm
by wisit
:D ขอบคุณครับอาจารย์แล้วผมจะลองทำดู ได้ไม่ได้ยังไงแล้วผมจะโพสมาบอกครับอาจารย์ ขอบคุณมากครับอาจารย์

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 6:00 pm
by wisit
อาจารย์ครับ สูตรของอาจารย์เวลาคีย์ .0, 1ภ หรือ 0/ มันจะขึ้นข้อความเตือน แต่ถ้าคีย์ 140, 000 ซึ่งเป็นข้อความที่มีมากกว่า 2 ตัว มันกลับไม่เตือนครับอาจารย์ แต่พอคีย์ 0.1 หรือ 0/1 มันจะขึ้นข้อความเตือนครับ :mrgreen:

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 6:42 pm
by snasui
:D เพิ่มเงื่อนไขเข้าไปได้เรื่อย ๆ ตามต้องการครับ น่าจะลองปรับมาเองดูบ้างนะครับ ได้หรือไม่ได้ก็ค่อยมาดูกันต่อ คิดว่าตัวอย่างน่าจะเยอะพอที่จะประยุกต์ต่อเองได้แล้วครับ

ตัวอย่างสำหรับการปรับเงื่อนไขตามด้านล่างครับ

=AND(Len(B8)=2,ISNUMBER(Left(B8)+0),ISNUMBER(Right(B8)+0),B8>="00",B8<="99")

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 6:58 pm
by wisit
ขอบคุณครับอาจารย์ ที่ผมไม่ได้ลองปรับดูเพราะบางสูตรผมไม่เข้าใจความหมาย และไม่เคยใช้สูตรดังกล่าว เลยไมู่รู้จะปรับยังไง :mrgreen: จึงต้องรบกวนอาจารย์ แต่ต้องขอบคุณอาจารย์มากครับที่กรุณาปรับปรุงแก้ไขสูตรให้ผม :D

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 7:21 pm
by wisit
:lol: ขอบคุณครับอาจารย์สูตรที่นำแนะมาใช้ได้ตรงตามที่ต้องการเลยครับ รบกวนอาจารย์ช่วยอธิบายสูตรดังกล่าวหน่อยครับ

ขอบพระคุณอาจารย์มากครับ ที่ทำให้งานที่ผมคีย์มีคุณภาพมากยิ่งขึ้น :D

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........

Posted: Wed Oct 05, 2011 7:29 pm
by snasui
:D หมายถึงค่าใน B8 ต้องเข้าเงื่อนไขเหล่านี้ทุกเงื่อนไขถึงจะสามารถกรอกข้อมูลลงไปในเซลล์ได้ นั่นคือ

มีแค่สองอักขระ และ อักขระแรกเป็นตัวเลข และ อักขระที่สองเป็นตัวเลข และ มีค่ามากกว่าหรือเท่ากับ "00" และ มีค่าน้อยกว่าหรือเท่ากับ "99"