snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#1
Post
by pao rienthong » Sun Apr 20, 2014 7:38 pm
เรียน อาจารย์
รบกวนสอบถามรื่องสูตรตรวจสอบตัวเลขในช่วงข้อมูล หนูได้แนบตัวอย่างไฟล์งานมาให้อาจารย์ด้วยคะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Sun Apr 20, 2014 8:03 pm
ลองตามนี้ครับ
เซลล์ G14 คีย์
=ISNUMBER(MATCH(E14,INDEX("P0"&ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(B7,"P",""),"-",":"))),0),0))
Enter หากผลลัพธ์เป็น True แสดงว่า E14 เป็นค่าที่อยู่ในช่วงของ B7 ครับ
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#3
Post
by pao rienthong » Sun Apr 20, 2014 8:32 pm
ขอบคุณอาจารย์มากๆเลยค่ะ ลองทำแล้วสามารถตรวจสอบได้ค่ะ
ขอเพิ่มอีกหนึ่งคำถามค่ะ ที่เซลล์ F14 ถ้าผลรับขึ้น No และต้องการให้เตือน pop up เพื่อไม่ให้คีย์ต่อไปได้ เราจะสร้างสูตรอย่างไรคะ เนื่องจากว่าถึงแม้ใส่สีแดงเตือนแล้ว แต่บางครั้งคนคีย์ไม่ดู
รบกวนอาจารย์ด้วยค่ะ
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Sun Apr 20, 2014 8:53 pm
ที่บอกไม่ให้คีย์คือไม่ให้คีย์ตรงไหนครับ
สำหรับการป้องกันการคีย์ค่าซ้ำ ลองศึกษาจาก Link นี้ครับ
wordpress/reject-double-value/
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#5
Post
by pao rienthong » Sun Apr 20, 2014 9:42 pm
อาจารย์คะ
แสดง pop up ตามคำอธิบายที่อยู่ในไฟล์แนบค่ะ ขอบคุณอาจารย์ค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Mon Apr 21, 2014 6:18 am
ลองตามนี้ครับ
คลิก E15
เข้าเมนู Data Validation > Data Validation
ตรง Allow เลือก Custom
ตรง Formula คีย์ =C14&D14 > คลิก OK
Copy C15 ไป C17, C19
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#7
Post
by pao rienthong » Mon Apr 21, 2014 9:50 pm
ขอบคุณอาจารย์มากค่ะ จะลองทำดูนะคะ ได้ความรู้เพิ่มมากเลยค่ะ
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#8
Post
by pao rienthong » Sun May 11, 2014 4:43 pm
อาจารย์คะ
รบกวนอีกค่ะ หลังจากทดลองทำแล้วยังไม่ได้
คือที่ F14 แสดงผล "NO" อยากให้ POP UP แสดงข้อความ "ไม่ถูกต้อง" ด้วยค่ะ
ขอบคุณอาจารย์มากๆค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#9
Post
by snasui » Sun May 11, 2014 5:01 pm
ยัง
ไม่ พบว่าได้ลองทำแล้วตามที่ผมแนะนำไปในโพสต์นี้ครับ
snasui wrote: ลองตามนี้ครับ
คลิก E15
เข้าเมนู Data Validation > Data Validation
ตรง Allow เลือก Custom
ตรง Formula คีย์ =C14&D14 > คลิก OK
Copy C15 ไป C17, C19
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#10
Post
by pao rienthong » Sun May 11, 2014 8:24 pm
พอดีทำไว้อีกไฟล์ค่ะ ลองส่งมาให้อาจารย์ดูใหม่อีกครั้งค่ะ
ขอบคุณอาจารย์มากค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#11
Post
by snasui » Sun May 11, 2014 10:35 pm
เนื่องจากส่วนหนึ่งผมอ้างอผิดตำแหน่ง ทั้งสูตรที่เขียนในไฟล์อ้างอิงไม่ถูกต้อง ให้เริ่มใหม่ดังนี้
เซลล์ G14 คีย์สูตร
=IF(ISNUMBER(MATCH(E14,INDEX(E$9&ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE($B$7,"P",""),"-",":"))),0),0)),"อยู่ในช่วง","ไม่อยู่ในช่วง")
Enter > Copy ลงด้านล่าง
เซลล์ F14 คีย์สูตร
=IF(G14="อยู่ในช่วง","OK","NO")
Enter > Copy ลงด้านล่าง
คลิกเซลล์ C15 > เข้าเมนู Data > Data Validation > Custom > ช่อง Fomula: คีย์ =F14="OK" > OK > Copy ไป C17, C19
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#12
Post
by pao rienthong » Tue May 13, 2014 12:52 pm
ทดลองคีย์แล้วใช้ได้ค่ะ สุดยอดเลยค่ะ
แต่ต้องการถามเพิ่มอีกค่ะ คือต้องการตรวจสอบตัวเลขที่ซ้ำกันและดึงออกมาของทุก sheet ตามตัวอย่างที่แนบมาให้อาจารย์ดูค่ะ จะคีย์สูตรยังไงคะ
(แนบมา 1 sheet เนื่องจากถ้ามากกว่านี้จะส่งไม่ได้ค่ะ)
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#13
Post
by snasui » Tue May 13, 2014 1:01 pm
ต้องการตรวจสอบตัวเลขที่ซ้ำและดึงออกมาของ column data 1 ของทุก sheet ต้องคีย์สูตรอย่างไรค่ะ (การใช้งานจริงๆ จะมีตัวเลข 830 ตัวเลข/sheet , ทั้งหมด 8 sheet ค่ะ )
แนบตัวอย่างมาสักสองสามชีท แล้วชี้ให้เห็นว่าต้องการคำตอบอย่างไร จะได้เข้าใจตรงกันครับ
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#14
Post
by pao rienthong » Tue May 13, 2014 1:53 pm
ลองทำตัวอย่างมาให้ 3 sheet ค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#15
Post
by snasui » Tue May 13, 2014 2:01 pm
ตัวอย่างคำตอบคือชีทไหน มีค่าใดบ้างครับ
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#16
Post
by pao rienthong » Tue May 13, 2014 2:38 pm
ต้องการให้ตรวจสอบตัวเลขที่ซ้ำ A1:A30 ของทุก sheet และแสดงผลที่ E4 ของ sheet1 ค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#17
Post
by snasui » Tue May 13, 2014 2:45 pm
ยังไม่เห็นตัวอย่างคำตอบครับ
สำหรับการนำข้อมูลตามเงื่อนไขมาแสดงสามารถใช้สูตรและ VBA มาช่วยได้ หากใช้ VBA ให้เขียนมาก่อน ติดตรงไหนแล้วค่อยมาถามกัน สำหรับการใช้สูตรมีหลักการดังนี้
นำข้อมูลของทุกชีทมาต่อกันก่อน ดูตัวอย่างการนำข้อมูลแต่ละชีทมาต่อกันที่นี่ครับ wordpress/multiple-sheets-to-one-sheet/
แสดงเฉพาะข้อมูลเฉพาะที่เข้าเงื่อนไขในพื้นที่เป้าหมาย
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#18
Post
by pao rienthong » Mon Jun 09, 2014 7:46 pm
อาจารย์คะ รบกวนถามสูตรการตรวจสอบช่วงตัวเลขเพิ่มเติมคะ เนื่ิองจากใช้จริงแล้วมีปัญหา
ตามไฟล์ที่แนบค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#19
Post
by snasui » Mon Jun 09, 2014 9:18 pm
ลองปรับสูตรเป็นตามด้านล่างครับ
Code: Select all
=IF(ISNUMBER(MATCH(E14,INDEX(LEFT($E$9,3)&ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE($B$7,LEFT($E$9,3),""),"-",":"))),0),0)),"อยู่ในช่วง","ไม่อยู่ในช่วง")
pao rienthong
Member
Posts: 47 Joined: Tue Apr 01, 2014 9:30 pm
#20
Post
by pao rienthong » Mon Jun 09, 2014 10:12 pm
ขอบคุณอาจารย์ค่ะ ลองปรับแล้ว สามารถใช้ได้ค่ะ
ถ้าไม่รบกวนอาจารย์เกินไปอยากให้ช่วยอธิบายสูตร เพื่อเป็นความรู้และอาจจะสามารถปรับใช้ถ้ามีการเปลี่ยนแปลง รวมถึงสามารถอธิบายน้องๆด้วยค่ะ
ขอบคุณมากค่ะ