Page 1 of 3
ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Sun Sep 25, 2011 10:07 pm
by wisit
อาจารย์ครับ สมมุติผมต้องการคีย์ข้อมูล 1/ ในคอลัมน์ A2 แล้วให้แสดงเป็นตัวเลข 01,10,11,12,21,13,31,.....,19,91 จะต้องทำอย่างไรครับ
โดยตัวเลขที่แสดงจะต้องแสดงในคอลัมน์ A2 ถึง A20 หรือไม่ก็แสดงใน A3 ถึง A21 ก็ได้ครับอาจารย์
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Sun Sep 25, 2011 10:41 pm
by snasui

ส่งตัวอย่างไฟล์มาด้วยครับ ผมยังไม่เข้าใจว่าคีย์ 1/ แล้วเหตุใดให้แสดง 01, 10, ฯลฯ ไม่ทราบว่าจะมีการคีย์ 2/, 3/ ฯลฯ ด้วยหรือไม่
การอ้างอิงเซลล์ไม่ต้องวรรคครับ เช่น A1 ไม่ใช่ A 1, A2 ไม่ใช่ A 2 ตามด้านบนผมแก้ให้แล้ว
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Sun Sep 25, 2011 11:05 pm
by wisit
คืออย่างนี้ครับอาจารย์ พอดีผมจะสร้างข้อมูลโดยมีเงื่อนไขว่าเราคีย์ 1/ ก็ให้แสดงค่าที่เกี่ยวกับเลข 1
เช่น 10,01,11,12,21....ฯลฯ และเมื่อคีย์ 2/ ก็ให้แสดงค่าที่เกี่ยวกับ 2
เช่น 20,02,22,21,12,.....ฯลฯ แต่ถ้าเราคีย์ 11 ก็ถือว่ามีค่าเป็น 11 ตามที่คีย์ โดยคอลัมน์ A ผมกำหนดให้เป็นตัวเลขไม่เกิน 2 หลักครับ
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Mon Sep 26, 2011 12:10 am
by snasui

ลองตามนี้ครับ
1. ที่เซลล์ D1 คีย์ 0
2. ที่เซลล์ C2 กำหนด Format ให้เป็น Text จากนั้นคีย์ 01 แล้วลากจุดจับเติมลงด้านล่าง จะเป็นการเติมค่าจาก 01-99
3. ที่ E2 คีย์สูตร
=IF(RIGHT($A$1)="/",IF(ISNUMBER(SEARCH(LEFT($A$1),C2)),LOOKUP(9.99999999999999E+307,D$1:D1)+1,""),IF(TEXT($A$1,"00")=C2,LOOKUP(9.99999999999999E+307,D$1:D1)+1,""))
Enter > Copy ลงด้านล่าง
4. ที่ B1 คีย์สูตร
=LOOKUP(9.99999999999999E+307,D:D)
Enter
5. ที่ A2 คีย์สูตร
=IF(ROWS(A$2:A2)>$B$1,"",LOOKUP(ROWS(A$2:A2),D:D,C:C))
Enter > Copy ลงด้านล่าง
จากนั้นลองคีย์ค่าในเซลล์ A1 ดูครับ ข้อมูลจะไม่ได้เรียงตามที่โจทย์ถาม แต่มาให้ครบทุกตัวตามโจทย์
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11
Posted: Mon Sep 26, 2011 1:46 pm
by wisit
ขอบคุณครับอาจารย์ แต่ผมต้องการที่จะให้ข้อมูลมันโชว์ออกมาเลยเมื่อเราคีย์ค่าดังกล่าว
ผมได้แนวไฟล์มาให้อาจารย์ช่วยแนะนำด้วยครับ (ไม่รู้ว่าผมแนบไฟล์ถูกหรือเปล่า) ต้องขอขอบคุณอาจารย์มากครับที่ช่วยแนะนำสิ่งดี ๆ
ขอบคุณมากครับอาจารย์
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Mon Sep 26, 2011 4:37 pm
by snasui

ข้อมูลลักษณะเช่นชีท ยอดขาย
ควรสร้างฟอร์มสำหรับกรอกข้อมูลไว้ 1 ฟอร์ม เมื่อกรอกแล้วค่อยคลิกปุ่มบันทึก จากนั้นข้อมูลจะไปต่อกันตามชีทยอดขาย ซึ่งฟอร์มก็มีลักษณะเหมือนกับที่ทำมานี้ ลองประยุกต์ใช้ร่วมกับสูตรที่ผมทำให้เพื่อจะได้ไม่ต้องกรอกรหัสสินค้าเข้าไปเองครับ ติดตรงไหนก็มาถามกันต่อ
ในชีทยอดขายไม่ควรบันทึกลงข้อมูลลงในชีทยอดขายตรง ๆ ยิ่งข้อมูลเยอะ ๆ จะบันทึกลำบาก และสิ่งที่ถามยิ่งทำลำบาก เพราะคีย์เซลล์ใดก็ได้แล้วต้องการให้ List ข้อมูลลงด้านล่างตามเงื่อนไข แม้จะสามารถทำได้ด้วย VBA แต่ไม่ใช่ทางเลือกที่ดีที่จะทำเช่นนั้นครับ
ชีทยอดขาย คอลัมน์ A:B จะต้องเติมข้อมูลเหมือนค่าด้านบนให้เต็มเนื่องจากเป็นค่าเดียวกัน ไม่ปล่อยให้เป็นบรรทัดว่าง จะได้เป็น Database และสะดวกในการสรุปข้อมูล
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 1:05 am
by wisit

ขอบคุณมากครับอาจารย์ แล้วผมจะลองทำดูครับอาจารย์
Excell สามารถทำได้หรือเปล่าครับ เพราะต้องการใช้อย่างมาก
Posted: Tue Sep 27, 2011 6:09 pm
by wisit
ผมต้องการที่จะป้อนข้อมูล A1 (ข้อมูลเป็น Text มีรหัสตัวเลข 2 หลัก) โดยไม่ต้องกด Enter แล้วให้เลื่อนไปที่ B1 (ข้อมูลเป็น Number มีไม่เกิน 4 หลัก) เมื่อกด Enter แล้วห้เลื่อนไปที่ A2 เมื่อป้อนข้อมูลที่ A2 โดยไม่ต้องกด Enter แล้วให้เลื่อนไปที่ B2 ทำเช่นนี้ไปเรื่อย ๆ
ผมได้แนบไฟล์เพื่ออธิบายให้ช้ดเจนอีกทีครับ
รบกวนท่านผู้รู้และอาจารย์คนควนด้วยครับ
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 6:35 pm
by snasui

สำหรับปัญหาที่ถามมานั้นสามารถกำหนดได้หลายแบบครับ เช่น
1. เข้าเมนู Tools > Options > Edit กำหนด Move selection after enter เป็น Right
2. คลุมพื้นที่ที่ต้องการคีย์ > คีย์ข้อมูล > Enter
หากไม่ต้องการกำหหนดการ Move selection after enter ก็สามารถใช้ Form หรือ List มาช่วยได้ ยกตัวอย่างกรณีใช้ Form ในไฟล์ที่แนบมา
1. คลุม A1:B5 > เข้าเมนู Data > Form
2. กรอกช่องแรกแล้วกดแป้น Tab กรอกช่องที่สองแล้ว Enter เช่นนี้ไปเรื่อย ๆ
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 8:23 pm
by wisit
ขอบคุณมากครับอาจารย์ ที่ให้ความรู้มากมาย สุดยอดไปเลยครับอาจารย์ ไม่น่าเชื่อว่า Excell สามารถทำได้ขนาดนี้

Re: Excell สามารถทำได้หรือเปล่าครับ เพราะต้องการใช้อย่างมา
Posted: Tue Sep 27, 2011 8:39 pm
by wisit
อาจารย์ครับ ผมมีข้อสงสัยนิดนึงครับ ตรงเมนู Data > Form หากเรากรอกช่องแรกแล้วไม่ต้องกดแป้น Tab ได้หรือไม่ โดยเมื่อกรอกช่องแรกครบตามจำนวน (ซึ่งแต่ละคอลัมน์ เช่น คอลัมน์ A ระบุเป็นข้อมูล 2 หลัก คอลัมน์ C ระบุเป็นข้อมูล 3 และคอลัมน์ E ระบุเป็นข้อมูล 4 หลัก) แล้วสามารถเลื่อนไปช่องที่สองเลย เมื่อมาช่องที่สองจึงกด Enter ประมาณนี้ครับอาจารย์
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 8:45 pm
by snasui

ทำเช่นนั้นไม่ได้ครับ Form ในเมนู Data ไม่สามารถกำหนด Option ได้เพิ่มเติมไปกว่านั้นครับ ปกติการคีย์ค่าเซลล์ใด ๆ ก็ตามควรจะมีการบอกโปรแกรมว่าได้มีการกรอกข้อมูลเรียบร้อยแล้ว ไม่ว่าจะเป็นคลิกเซลล์อื่น กดแป้นลูกศร หรือ Tab หรือ Enter อย่างใดอย่างหนึ่ง ไม่เช่นนั้นโปรแกรมจะเข้าใจว่ายังอยู่ระหว่างกรอกข้อมูลครับ
ถ้าจะให้อัตโนมัติโดยให้นับอักขระว่ากรอกครบเท่านั้นเท่านี้แล้วให้ Curor เลื่อนไปยังเซลล์เป้าหมายถัดไป จำเป็นต้องใช้ VBA และไม่ง่ายที่จะทำเช่นนั้นครับ
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 8:56 pm
by wisit
รบกวนอาจารย์อีกนิดครับ ผมงงกับการที่อาจารย์บอกให้ผมสร้างฟอร์มสำหรับกรอกข้อมูลไว้ 1 ฟอร์ม เมื่อกรอกแล้วค่อยคลิกปุ่มบันทึก จากนั้นข้อมูลจะไปต่อกันตามชีทยอดขายครับ เป็นอย่างนี้หรือเปล่าครับอาจารย์ คือ ผมต้องเพิ่มชีทขึ้นมาอีก 1 ชีท เพื่อกรอกข้อมูลใช่หรือเปล่าครับอาจารย์ ส่วนเมื่อกรอกแล้วค่อยคลิกปุ่มบันทึก ผมงงครับ ว่าต้องกดบันทึกข้อมูลถึงจะต่อเนื่องหรือครับ อันนี้ผมไม่เข้าใจครับอาจารย์ รบกวนอาจารย์กรุณาอธิบายอีกครั้งครับ ขอบคุณมากครับอาจารย์ ที่ตอบข้อสงสัยได้กระจ่าง และวิธีทำที่เข้าใจง่ายมาก ๆๆๆๆๆๆๆๆๆๆๆ
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 8:59 pm
by wisit
ขอบคุณครับอาจารย์ ได้ตามตัวอย่างก็ถือว่าทำให้ผมคีย์ข้อมูลได้เร็วขึ้นมากครับอาจารย์ ขอบคุณมากครับอาจารย์ที่ตอบคำถามได้เ็ร็วมากครับ
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 9:04 pm
by snasui

เนื่องจากว่าชีทที่ใช้
เก็บข้อมูลกับที่
กรอกข้อมูลอยู่กันคนละชีท ดังนั้น จึงต้องสร้างฟอร์มสำหรับการกรอกข้อมูล เมื่อกรอกแล้ว ตรวจแล้ว จึงกดปุ่มบันทึก เพื่อนำข้อมูลที่กรอกไปวางในฐานข้อมูล การทำเช่นนี้ต้องใช้ VBA มาช่วยครับ

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 9:50 pm
by wisit
อาจารย์ครับผมทำ VBA ไม่เป็นครับ เพราะผมเคยศึกษาแล้ว รู้สึกว่ายากมาก ทำแล้วงงมาก ๆ ครับ
อาจารย์ครับ ถ้าผมต้องการข้อมูลสรุปยอดขายแต่ละคน โดยกรอกข้อมูล นาย ก นาย ข และนาย ค (พนักงานขายมีหลายคน) ตั้งแต่ต้นเดือนถึงสิ้นเดือน (ดังไฟล์ที่แนบมา) ผมต้องการที่จะหาว่านาย ก นาย ข และนาย ค และคนอื่น ๆ ขายสินค้าทั้งหมดได้กี่จำนวน และขายสิ้นค้าไหนมากที่สุด เพื่อที่จะได้นำผลไปคิดเป็นค่าคอมมิสชั่น แต่ละคนตามสิ้นค้าที่ขายได้ ผมงงกับการคิดนี้มาหลายวันแล้วครับ ไม่รู้จะทำยังไงดี
Re: ลืมแนบไฟล์ครับ
Posted: Tue Sep 27, 2011 9:53 pm
by wisit

ลืมแนบไฟล์ครับ

Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 10:03 pm
by snasui

ไม่ทราบว่าฐานข้อมูลอยู่ที่ชีทไหนครับ และได้เรียงตามตัวอย่างด้านล่างแล้วยังครับ
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 10:20 pm
by wisit
ฐานข้อมูลจะอยู่ในชีทยอดขายครับอาจารย์ แต่ผมต้องการให้ผลออกมาดังชีท "สรุปยอดขายแต่ละคน" ประมาณนี้ครับ ไม่รู้จะใช้สูตรไหนดี
Re: ป้อนข้อมูล 1/ แล้วแสดงเป็น 10,01,11,12,21..........
Posted: Tue Sep 27, 2011 10:31 pm
by snasui

ยังตอบไม่ครบครับ
