:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#41

Post by wisit »

ขอบคุณมากครับอาจารย์ :lol:
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#42

Post 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 แถว จึงอาจทำให้ทำงานล่าช้ามาก
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#43

Post by snasui »

:D ทำ Index ขึ้นมาช่วยดีกว่าครับ ลองดูตัวอย่างตามไฟล์แนบ การเขียนสูตร If ตามที่ถามมานั้นคิดว่าไม่สะดวกแก่การใช้งานครับ

Excel 2003 สามารถคีย์สูตรได้เพียง 1024 อักขระเท่านั้น (2007 ขึ้นไปคีย์ได้มากขึ้นไปอีก 8 เท่า)
You do not have the required permissions to view the files attached to this post.
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#44

Post by wisit »

:D ขอบคุณมากครับอาจารย์ แล้วผมจะลองไปทำดู ถ้าติดขัดยังไงจะรบกวนอาจารย์อีกครั้งครับ :lol:
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#45

Post by wisit »

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

รบกวนอาจารย์ช่วยด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#46

Post 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
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#47

Post by wisit »

อาจารย์ครับ สูตร =AND(ISNUMBER(B8+0),B8>="00",B8<="99") มีผลทำให้การประมวลผลล่าช้าหรือเปล่าครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#48

Post by snasui »

:shock: ถ้าใช้จำนวนมากก็เป็นผลให้ไฟล์ช้าครับ

ทุกการคำนวณต้องใช้เวลาการประมวลผลทั้งนั้นครับ ถ้าพูดถึงใช้กับพื้นที่จำนวนมากแล้ว ตัวอย่างที่ทำให้ไฟล์ช้าก็ได้แก่สูตร Array สูตรพวก Lookup แบบตรงตัว เช่น Vlookup นอกจากนี้ก็มี Object ที่มีจำนวนมาก เช่นที่กำลังจะทำอยู่นี้ก็ใช้ Object เป็นตัว CheckBox เข้ามา หากใช้มาก ๆ ก็ช้าครับ :P
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#49

Post by wisit »

:D อาจารย์ครับผมลองทำตามสูตรที่อาจารย์ให้มา แต่ไม่รู้ทำไมถึงทำแล้วไม่สามารถดักจับค่าที่มี 2 หลักได้ครับ เช่น คีย์ 1. โปรแกรมก็ให้ผ่านได้ไม่ขึ้นข้อความเตือน หรือว่าผมทำผิดขั้นตอน ข้อมูลของผมเป็น Text ครับ
รบกวนอาจารย์อีกนิดครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#50

Post by snasui »

:lol: เปลี่ยนสูตรใน Validation ใหม่เป็นตามด้านล่างครับ

=AND(ISNUMBER(Left(B8)+0),ISNUMBER(Right(B8)+0),B8>="00",B8<="99")
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#51

Post by wisit »

:D ขอบคุณครับอาจารย์แล้วผมจะลองทำดู ได้ไม่ได้ยังไงแล้วผมจะโพสมาบอกครับอาจารย์ ขอบคุณมากครับอาจารย์
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#52

Post by wisit »

อาจารย์ครับ สูตรของอาจารย์เวลาคีย์ .0, 1ภ หรือ 0/ มันจะขึ้นข้อความเตือน แต่ถ้าคีย์ 140, 000 ซึ่งเป็นข้อความที่มีมากกว่า 2 ตัว มันกลับไม่เตือนครับอาจารย์ แต่พอคีย์ 0.1 หรือ 0/1 มันจะขึ้นข้อความเตือนครับ :mrgreen:
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#53

Post by snasui »

:D เพิ่มเงื่อนไขเข้าไปได้เรื่อย ๆ ตามต้องการครับ น่าจะลองปรับมาเองดูบ้างนะครับ ได้หรือไม่ได้ก็ค่อยมาดูกันต่อ คิดว่าตัวอย่างน่าจะเยอะพอที่จะประยุกต์ต่อเองได้แล้วครับ

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

=AND(Len(B8)=2,ISNUMBER(Left(B8)+0),ISNUMBER(Right(B8)+0),B8>="00",B8<="99")
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#54

Post by wisit »

ขอบคุณครับอาจารย์ ที่ผมไม่ได้ลองปรับดูเพราะบางสูตรผมไม่เข้าใจความหมาย และไม่เคยใช้สูตรดังกล่าว เลยไมู่รู้จะปรับยังไง :mrgreen: จึงต้องรบกวนอาจารย์ แต่ต้องขอบคุณอาจารย์มากครับที่กรุณาปรับปรุงแก้ไขสูตรให้ผม :D
wisit
Bronze
Bronze
Posts: 344
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

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

#55

Post by wisit »

:lol: ขอบคุณครับอาจารย์สูตรที่นำแนะมาใช้ได้ตรงตามที่ต้องการเลยครับ รบกวนอาจารย์ช่วยอธิบายสูตรดังกล่าวหน่อยครับ

ขอบพระคุณอาจารย์มากครับ ที่ทำให้งานที่ผมคีย์มีคุณภาพมากยิ่งขึ้น :D
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#56

Post by snasui »

:D หมายถึงค่าใน B8 ต้องเข้าเงื่อนไขเหล่านี้ทุกเงื่อนไขถึงจะสามารถกรอกข้อมูลลงไปในเซลล์ได้ นั่นคือ

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