: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

สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
flying123
Member
Member
Posts: 6
Joined: Wed Jun 22, 2011 7:57 pm

สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#1

Post by flying123 »

คือผมมือใหม่ที่ได้เข้ามาศึกษา Excel เองอ่ะครับ ซื้อหนังสือมาหลายเล่ม แต่ก้อยังไม่ค่อยเข้าใจเท่าไร

เลยมีเรื่องมารบกวนให้อาจารย์ช่วยชี้แนะหน่อยนะครับ

ถ้าจะขอถามเป็นข้อๆจะเสียมารยาทรึเปล่าครับ

ยังไงผมขออนุญาตนะครับ อ้างอิงตามไฟลนะครับ

1. ผมอยากให้ใส่คำค้นในช่องค้นหา แล้วจะแสดงไฟลตามคำค้น หรือไม่ก้อตามโค้ดอ่ะครับ
2. ช่องคงเหลือ จะต้องเชื่อมโยงกับไฟลสต๊อกการ์ด และไฟลฐานข้อมูลใช่รึเปล่าครับ ผมทำลิ้งง่ายๆแบบนั้นมันจะใช้ได้รึเปล่าครับ
3. ในช่องค่า MIN มันจะมีสูตรอะไรบ้างที่จะแสดงช่องให้เปลี่ยนสีได้อ่ะครับ ทั้งเมื่อถึงค่า MIN แล้วเมื่อสินค้า = 0 ครับ
4. ในความเป็นจริง ผมอยากให้มันทำรายการสั่งซื้อในแต่ละวัน แต่ผมยังนึกภาพไม่ออกอ่ะครับ ว่าจะต้องทำอย่างไร อยากให้ท่านอาจารย์ช่วยชีแนะหน่อยนะครับ
5. ชีทที่ชื่อ ผู้ใช้คนหา เนี่ย ในการใช้จริงมันสมควรที่จะต้องอยู่ไฟลเดียวไม่รวมกับฐานข้อมูล และสต๊อกการ์ดใช่รึเปล่าครับ

ผมรบกวนตามนี้หน่อยนะครับ ถ้าผมทำอะไรเสียมารยาทไปขอโทษนะครับ พอดีมือใหม่จริงๆ และจริงๆแล้วสินค้า และวัตถุดิบในโรงงานมีเป็นหลักพันชนิดอ่ะครับ แต่จะลองทำแค่นี้ก่อน
ถ้าเอกเซลไปได้ดี ก้ออยากจะพัฒนาตัวเองด้วยนะครับ ตอนนี้ลองอ่านหนังสือ VB แล้ว แต่ก้อยังมึนๆ ทำได้แต่มาโครง่ายๆอ่ะครับ

รบกวนช่วยชี้แนะหน่อยนะครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
flying123
Member
Member
Posts: 6
Joined: Wed Jun 22, 2011 7:57 pm

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#2

Post by flying123 »

อันนี้เป็นไฟลตัวอย่างที่ใช้อยู่น่ะครับ

แบบว่าผมเองก้อจะตัดบนไฟลนี้เลย

ผมใช้ก้อจะดูจะเห็นทั้งหมดเลย โดยอ้างอิงการใช้ Comment กันซึ่งผมคิดว่าไม่น่าปลอดภัยเท่าไร ซึ่งข้อมูลในแต่ละเดือนจะใช้การกรุ๊ป และการยกยอดเป็นการใช้สูตรอ้างอิงเซลเอาอ่ะคัรบ

ถ้ายูสเซอร์ มาแก้ไขอะไรได้แบบนี้

ผมคงต้องศึกษาเรื่องการใช้พาสเวิดในการเปิดดูแล้วมั้งครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#3

Post by snasui »

:D ลองตามไฟล์แนบครับ

ปุ่มค้นหาไม่จำเป็นต้องใช้ครับ เมื่อผู้ใช้คีย์ข้อความที่ D2 โปรแกรมจะดึงข้อมูลมาให้เลย โดยมีวิธีการคือ

1. ที่ชีทฐานข้อมูลเซลล์ I3 คีย์ 0 เพื่อเป็นค่าเริ่มต้นให้กับข้อม 2

2. ที่ชีทฐานข้อมูลเซลล์ I4 คีย์สูตรเพื่อให้หมายเลขลำดับสำหรับรายการที่ผู้ใช้ค้นหา

=IF(ISNUMBER(SEARCH(ผู้ใช้ค้นหา!$D$2,B4)),LOOKUP(9.9999999999999E+307,I$3:I3)+1,"")

Enter > Copy ลงด้านล่าง

3. ที่ชีท ผู้ใช้ค้นหา เซลล์ H4 คีย์สูตรเพื่อหาว่าพบกี่รายการ

=LOOKUP(9.99999999999999E+307,ฐานข้อมูล!I:I)

Enter

4. ที่ชีท ผู้ใช้ค้นหา เซลล์ A6 (แทรกคอลัมน์ก่อน) คีย์สูตรเพื่อให้ลำดับค่าที่พบ

=IF(ROWS(A$6:A6)>$H$4,"",ROWS(A$6:A6))

Enter > Copy ลงด้านล่าง

5. ที่ชีท ผู้ใช้ค้นหา เซลล์ B6 คีย์สูตรเพื่อแสดงรายการที่พบ

=IF(N($A6),LOOKUP($A6,ฐานข้อมูล!$I:$I,ฐานข้อมูล!A:A),"")

Enter > Copy ไปทางขวาและลงด้านล่าง

6. ที่ชีท ผู้ใช้ค้นหา เซลล์ H6 คีย์สูตรเพื่อให้ค่า MIN หากยอดคงเหลือเป็น 0

=IF(F6=0,"MIN","")

Enter > Copy ลงด้านล่าง

7. กำหนดค่า Min ให้เป็นสีแดงเพื่อให้เห็นชัดโดยคลุม H6:H17 > คลิก Home > Condition Formatting > New Rule > Format only cells that contain > ตรง Format only cells with: ชองแรกปล่อยตาม Default > ช่องถัดมาเลือก equal to > ช่องถัดมาคีย์ MIN > กดปุ่ม Format > กำหนดค่าตามต้องการ

สำหรับการ Link เซลล์มาในฐานข้อมูลหากว่าแต่ละบรรทัดมีตำแหน่งคงที่สามารถทำได้ครับ
You do not have the required permissions to view the files attached to this post.
mepmep
Member
Member
Posts: 19
Joined: Fri May 27, 2011 9:33 pm

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#4

Post by mepmep »

อาจารย์ครับ

แล้วถ้าเราต้องการหาทั้งตารางฐานข้อมูลละครับ พอทำตัวอย่างได้ไหม เอาไฟล์แนบข้างบนที่อาจารย์แนบละครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#5

Post by snasui »

:D เปลี่ยนสูตรที่นี่ที่เดียวก็น่าจะพอครับ

จาก

=IF(ISNUMBER(SEARCH(ผู้ใช้ค้นหา!$D$2,B4)),LOOKUP(9.9999999999999E+307,I$3:I3)+1,"")

เป็น

=IF(ISNUMBER(SEARCH(ผู้ใช้ค้นหา!$D$2,B4&C4&D4&E4&F4&...)),LOOKUP(9.9999999999999E+307,I$3:I3)+1,"")

... หมายถึงต้องการจะหาจากกี่คอลัมน์ก็เชื่อมเข้าไปตามต้องการครับ
flying123
Member
Member
Posts: 6
Joined: Wed Jun 22, 2011 7:57 pm

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#6

Post by flying123 »

มีคำถามนิดหน่อยอ่ะครับ

รบกวนตามไฟลแนบหน่อยนะครับ

กำลังมึนได้ที่เลยครับ

รบกวนอีกนิดนะครับ ถ้าไอ้ตรงสูตรค่า MIN อ่ะครับ จะต้องการ Fill Colour แทนอ่ะครับ ไม่เอาแค่ตัวอักษรพอจะมีวิธีไม๊ครับ

ขอบคุณครับ

ตรงส่วนสต๊อกการ์ดอาจารย์พอจะมีอะไรแนะนำไหมครับ ในการตัด

ขอบคุณครับ

ปล. ตอนนี้กำลังไล่สูตรไล่ตารางตามอาจารย์มึนเลยครับ แหะๆ ขอบคุณคร้าบ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#7

Post by snasui »

:D ลองดูไฟล์แนบประกอบครับ

ที่ชีท ฐานข้อมูล เซลล์ H4 คีย์

=IF(COUNTA('STOCK CARD'!D7:D14)=0,"",MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("/"&'STOCK CARD'!D7&"/"&'STOCK CARD'!D8&"/"&'STOCK CARD'!D9&"/"&'STOCK CARD'!D10&"/"&'STOCK CARD'!D11&"/"&'STOCK CARD'!D12&"/"&'STOCK CARD'!D13&"/"&'STOCK CARD'!D14,"/////","/"),"////","/"),"///","/"),"//","/"),2,SUMPRODUCT(LEN('STOCK CARD'!$D$7:$D$14))+COUNTIF('STOCK CARD'!$D$7:$D$14,"?*")-1))

ปกติการใช้สูตรเราควรเขียนแล้วสามารถนำไปใช้กับเซลล์อื่น ๆ ได้ด้วย แต่สำหรับสูตรนี้หาก Copy ไปใช้กับเซลล์อื่นจะต้องเปลี่ยนการอ้างอิงเซลล์ใหม่ทั้งหมด เนื่องจากข้อมูลที่ Link มานั้นไม่อยู่ในรูปแบบที่เหมาะกับการ Link เข้าฐานข้อมูล

ส่วนที่ถามว่าถ้าไม่กรอกตัวเลขมาจากไหน ถ้าไม่กรอกจะแสดงว่าต้องการดูทั้งหมดครับ หากไม่กรอกแล้วไม่ให้แสดงเลยต้องเปลี่ยนสูตรที่ I4 เป็น

=IF(ผู้ใช้ค้นหา!$D$2="","",IF(ISNUMBER(SEARCH(ผู้ใช้ค้นหา!$D$2,B4)),LOOKUP(9.9999999999999E+307,I$3:I3)+1,""))

Enter > Copy ลงด้านล่าง

ส่วนการใส่เฉพาะสีในคอลัมน์ H ลองสังเกตดูจากไฟล์แนบ โดยการคลุม H6:H17 > Home > Conditional Formatting > Manage Rule > Edit Rule
You do not have the required permissions to view the files attached to this post.
flying123
Member
Member
Posts: 6
Joined: Wed Jun 22, 2011 7:57 pm

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#8

Post by flying123 »

อาจารย์ครับ ผมยังสงสัยอยู่ว่า ในชี้ผู้ใช้ค้นหา ใส่สูตรเพื่อดึงข้อมูลมาจากชีทฐานข้อมูล

แล้วดูแล้วสูตรมันก้อครอบคลุมถึง โค้ดด้วย แต่ทำไมเมื่อผมเซิชโดยใส่โค้ดแล้วมันถึงไม่แสดงอ่ะครับ

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#9

Post by snasui »

:D ส่งไฟล์ที่เป็นปัญหา เขียนระบุปัญหาและระบุตัวอย่างคำตอบที่ต้องการมาในไฟล์ด้วย จะได้เห็นง่าย ๆ ครับ
flying123
Member
Member
Posts: 6
Joined: Wed Jun 22, 2011 7:57 pm

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#10

Post by flying123 »

รบกวนหน่อยนะครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#11

Post by snasui »

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

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

จาก

=IF(ISNUMBER(SEARCH(ผู้ใช้ค้นหา!$D$2,B4)),LOOKUP(9.9999999999999E+307,I$3:I3)+1,"")

เป็น

=IF(ISNUMBER(SEARCH(ผู้ใช้ค้นหา!$D$2,B4&C4&D4&E4&F4&...)),LOOKUP(9.9999999999999E+307,I$3:I3)+1,"")

... หมายถึงต้องการจะหาจากกี่คอลัมน์ก็เชื่อมเข้าไปตามต้องการครับ
ลองปรับปรุงสูตรมาดูก่อนจะได้คุ้นเคยครับ
flying123
Member
Member
Posts: 6
Joined: Wed Jun 22, 2011 7:57 pm

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#12

Post by flying123 »

หลังจากลองเล่นปรับสูตรดูแล้ว นะครับ ใช้งานได้หลากหลายดีครับอาจารย์

แต่มันติดนิดนึงคือบางคอลั่ม มันไม่แสดงตามที่เราคีสูตรไว้น่ะครับ

รบกวนอาจารย์ช่วยดูหน่อยนะครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามเรื่องการแสดงรายการสินค้า เมื่อเราพิมพ์ค้นหาครับ

#13

Post by snasui »

:D ที่ชีท RY เซลล์ F6 สูตรคือ

=IF(N($A6),LOOKUP($A6,Sheet2!$I:$I,Sheet2!A:A),"")

ส่วนที่เซลล์ F7 สูตรคือ

=IF(N($A7),LOOKUP($A7,Sheet2!$I:$I,Sheet2!E:E),"")

ซึ่งที่ถูกก็คือสูตรที่สองนี้ครับ ให้ Copy สูตรนี้ไปใช้กับ F6 ครับ จากนั้นให้จัด Format ให้เป็น General หรือคลุมข้อมูลที่คอลัมน์ F แล้วกดแป้น Ctrl+1
Post Reply