: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

ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
apichart2007
Member
Member
Posts: 42
Joined: Mon Jan 25, 2010 9:11 am

ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#1

Post by apichart2007 »

ขอความช่วยเหลือครับ

ต้องการให้ Combo Box ฝังอยู่ในเซลล์ A2 (สมมุติ)และให้มีขนาตัวหนังสือเท่ากับที่เรากำหนดไว้ในเซลล์ A2 (สมมุติ)นั้นเลยครับ บอกทีละขั้นตอนด้วยครับ

อภิชาติ
22 ก.พ.2553
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#2

Post by snasui »

:D ช่วยอธิบายให้ชัดเจนอีกหน่อยครับ ฝัง Combo box แล้วให้แสดงตัวหนังสือขนาดเท่ากับที่กำหนดในเซลล์ ย่อมไม่สามารถทำได้ครับ เพราะในเซลล์สามารถกำหนดขนาดตัวหนังสือได้ ส่วนใน Combo box ไม่สามารถกำหนดขนาดตัวหนังสือได้

ถ้าระบุวัตถุประสงค์การใช้งานมาด้วยก็จะดีครับ เพื่อจะได้หาวิธีการอื่น ๆ มาช่วยแทน :mrgreen:
apichart2007
Member
Member
Posts: 42
Joined: Mon Jan 25, 2010 9:11 am

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์J4 (สมมุติ)

#3

Post by apichart2007 »

ต้องการให้ Combo Box ฝังอยู่ในเซลล์J4
แล้วเวลาเราคลิ้กเลือกคำว่า Banana มันจะปรากฎ Banana สีน้ำเงินพื้นสีฟ้า
ในช่องเซลล์ J4และขนาดความสูงตัวอักษรเท่ากับ Cordia New26ด้วย

ดูไฟล์ที่แนบมาด้วยครับผม
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#4

Post by snasui »

:D สามารถใช้ Validation เพื่อให้สามารถเลือกจากเซลล์ได้ครับ หากใช้ Combo box จะต้องเพิ่มขั้นตอนเพื่อให้ค่าที่เลือกมาแสดงในเซลล์ ซึ่งใช้ Validation สะดวกกว่า สำหรับวิธีการดูตามภาพที่แนบมาด้านล่างครับ

กรณีตัวอักษรที่มีขนาดเล็ก ไม่ว่าจะเป็น Combo box หรือ Validation หากมีการย่อขนาดของโปรแกรมไว้ก็จะทำให้ตัวอักษรเล็ก ทางแก้ไขที่ทำได้คือต้องยกเลิกการย่อขนาด หรือปรับการย่อให้เป็น 100%

ลองตามนี้

กดแป้น Ctrl ค้างไว้ แล้วเลื่อน Scroll Mouse ไปด้านหน้าและหลัง > สังเกตการเปลี่ยนแปลง หรือหากต้องการปรับการย่อด้วยเมนูให้เข้าไปที่เมนู View > Zoom ปรับขนาดตามต้องการ

สำหรับการปรับขนาดในไฟล์ที่แนบมานั้นอยู่ที่ 75% จึงส่งผลให้ List ในเซลล์ J4 ดูเล็กมากครับ :mrgreen:
You do not have the required permissions to view the files attached to this post.
apichart2007
Member
Member
Posts: 42
Joined: Mon Jan 25, 2010 9:11 am

ขออีกคำถามเรื่องของ List Up

#5

Post by apichart2007 »

ขอขอบพระคุณอย่างสูงครับ

ขอเพิ่มอีกคำถามนึงเรื่องของ List Up ครับผม
คืออยากได้รายการผลไม้ที่ได้ใช้กลยุทธ์ตาม input1 และ input2 ครับ
โปรดดูไฟล์ที่แนบครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขออีกคำถามเรื่องของ List Up

#6

Post by snasui »

apichart2007 wrote:ขอขอบพระคุณอย่างสูงครับ

ขอเพิ่มอีกคำถามนึงเรื่องของ List Up ครับผม
คืออยากได้รายการผลไม้ที่ได้ใช้กลยุทธ์ตาม input1 และ input2 ครับ
โปรดดูไฟล์ที่แนบครับ
:D สามารถหาข้อมูลด้วยสูตร Array ครับ ดูตัวอย่างจากไฟล์แนบครับ

1. I12 คีย์สูตรเพื่อนับค่าที่ได้ตามเงื่อนไข

=SUMPRODUCT(--(E4:E10=J3),--(F4:F10=J4))

Enter

2. E15 คีย์สูตรเพื่อ List ข้อมูลตามเงื่อนไข

=IF(ROWS(E$15:E15)>$I$12,"",INDEX(A$4:A$10,SMALL(IF($E$4:$E$10=$J$3,IF($F$4:$F$10=$J$4,ROW($A$4:$A$10)-ROW($A$4)+1)),ROWS(E$15:E15))))

Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง :mrgreen:
You do not have the required permissions to view the files attached to this post.
apichart2007
Member
Member
Posts: 42
Joined: Mon Jan 25, 2010 9:11 am

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#7

Post by apichart2007 »

อยากได้คำอธิบายครับ

เซลล์ E15=IF(ROWS(E$15:E15)>$I$12,"",INDEX(A$4:A$10,SMALL(IF($E$4:$E$10=$J$3,IF($F$4:$F$10=$J$4,ROW($A$4:$A$10)-ROW($A$4)+1)),ROWS(E$15:E15))))

โดยเฉพาะช่วงที่ระบายสีตั้งแต่ SMALL(IF($E$4:$E$10=$J$3,IF($F$4:$F$10=$J$4,ROW($A$4:$A$10)-ROW($A$4)+1)),ROWS(E$15:E15))))

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

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#8

Post by snasui »

apichart2007 wrote:อยากได้คำอธิบายครับ

เซลล์ E15=IF(ROWS(E$15:E15)>$I$12,"",INDEX(A$4:A$10,SMALL(IF($E$4:$E$10=$J$3,IF($F$4:$F$10=$J$4,ROW($A$4:$A$10)-ROW($A$4)+1)),ROWS(E$15:E15))))

โดยเฉพาะช่วงที่ระบายสีตั้งแต่ SMALL(IF($E$4:$E$10=$J$3,IF($F$4:$F$10=$J$4,ROW($A$4:$A$10)-ROW($A$4)+1)),ROWS(E$15:E15))))

ขอบคุณครับ
:lol: ตามสูตรนี้สูตรนอกสุดคือ Small เป็นการหาค่าที่น้อยที่สุดตามลำดับที่กำหนด ซึ่งลำดับที่กำหนดคือ ROWS(E$15:E15) ซึ่งมีผลลัพธ์เป็น 1 หมายความว่าค่าที่น้อยที่สุดเป็นลำดับที่ 1

หากลากลงไปอีกบรรทัดจะได้เป็น ROWS(E$15:E16) มีผลลัพธ์เป็น 2 นั่นหมายความว่าให้ค่าน้อยที่สุดเป็นลำดับที่ 2
===================================================

การหาค่าน้อยที่สุดตามสูตร SMALL(IF($E$4:$E$10=$J$3,IF($F$4:$F$10=$J$4,ROW($A$4:$A$10)-ROW($A$4)+1)),ROWS(E$15:E15)))) เป็นการหาค่าน้อยที่สุดตามเงื่อนไข 2 เงื่อนไข
1. $E$4:$E$10=$J$3
2. $F$4:$F$10=$J$4

หากเข้าทั้งสอง 2 เงื่อนไขด้านบนแล้วจะให้ผลลัพธ์เป็น True ไม่เข้าเงื่อนไขจะให้ผลลัพธ์เป็น False

:!: การแกะสูตรสามารถลากเมาส์คลุมช่วงข้อมูลที่ต้องการทดสอบแล้วกดปุ่ม F9 เช่น ลากคลุม $E$4:$E$10=$J$3 แล้วกดปุ่ม F9 แล้วสังเกตดูผล :!:

A. กรณีผลลัพธ์เป็น True ให้แสดงหมายเลขลำดับ ซึ่งสูตรที่แสดงหมายเลขลำดับคือ ROW($A$4:$A$10)-ROW($A$4)+1 ซึ่งจะให้ผลลัพธ์เป็น Array เริ่มด้วย 1 เช่น {1,2,3,4,5,6,7}
B. กรณีผลลัพธ์เป็น False ค่าเลขลำดับจะกลายเป็น False

จาก A และ B หากมีทั้งเข้าเงื่อนไขและไม่เข้าเงื่อนไข จะทำให้หมายเลขลำดับมีโอกาสเป็นหมายเลขลำดับและเป็นค่า False เช่น {1,False,3,4,False,6,False} นั่นหมายความว่า เข้าเงื่อนไขแค่ 4 ลำดับ คือลำดับที่ 1, 3, 4, 6 ส่วนที่เหลือไม่เข้าเงื่อนไขจึงกลายเป็นค่า False ผลลัพธ์ที่ได้จะนำไปใช้ในสูตร Small

กรณีที่ส่วนประกอบที่สองของ Small เป็น ROWS(E$15:E17) ซึ่งมีค่าเท่ากับ 3 หมายความว่าให้นำค่าที่น้อยที่สุดเป็นลำดับที่ 3 มาแสดง

จะเห็นว่าจาก {1,False,3,4,False,6,False} ค่าที่น้อยที่สุดเป็นอันดับ 3 คือ 4 เพราะฉะนั้นผลลัพธ์จากสูตร Small จะได้ 4

Note: สูตร Array ค่อนข้างยากต่อการทำความเข้าใจต้องค่อย ๆ ศึกษา การแกะสูตรโดยการคลุมช่วงข้อมูลที่ต้องการแล้วกดแป้น F9 จะทำให้ทำความเข้าใจได้ง่ายขึ้น และก่อนแกะสูตรควรทำสูตรให้ง่ายโดยกำหนดให้มีช่วงข้อมูลน้อย ๆ ยกตัวอย่าง ช่วงข้อมูล A1:A5 จะแกะสูตรง่ายกว่า A1:A500 :mrgreen:
apichart2007
Member
Member
Posts: 42
Joined: Mon Jan 25, 2010 9:11 am

ถ้าเราอยากจะรู้ว่ามันอยู่ที่ลำดับบรรทัด (Row) ไหนของฐานข้อมู

#9

Post by apichart2007 »

ขอบพระคุณอย่างสูงครับ....มันเรียงให้ตามที่ผมต้องการให้แล้วล่ะ

ขอเพิ่มอีกคำถามนึงครับ
ถ้าเราอยากจะรู้ว่าการเรียงให้ของแต่ละตัวมันมาจากลำดับบรรทัด (Row) ไหนของฐานข้อมูลของเรา
ต้องใช้สูตรอย่างไรดีครับ?

กรุณาดูไฟล์ที่แนบมครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#10

Post by snasui »

:D เนื่องจากข้อมูลมีหลายเลขลำดับกำกับอยู่แล้ว สามารถใช้สูตร Sumproduct ตามด้านล่างหาลำดับได้ครับ

ที่ J15 คีย์

=SUMPRODUCT(--($B$4:$B$10=$F15),--($C$4:$C$10=$G15),$A$4:$A$10)

Enter > Copy ลงด้านล่าง :mrgreen:
apichart2007
Member
Member
Posts: 42
Joined: Mon Jan 25, 2010 9:11 am

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#11

Post by apichart2007 »

ได้คำตอบแล้วครับ

แต่สงสัยว่าถ้าจะใช้สูตรข้างล่างนี้
=INDEX(A4:A10,MATCH(F15&G15,B4:B10&C4:C10,1))
ทำไมมันไม่ได้คำตอบครับ? ช่วยอธิบายว่ามันผิดที่ตรงไหนครับ

ขอขอบพระคุณอย่างสูง
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#12

Post by snasui »

:D ที่ไม่ได้เพราะว่าการใส่ส่วนประกอบสุดท้ายของ Match เป็น 1 หรือปล่อยว่างได้นั้น B4:B10&C4:C10 จะต้องเรียงจากน้อยไปหามาก ซึ่งตามลักษณะของข้อมูลแล้วมีโอกาสเป็นไปได้ยาก การ Match ดังกล่าวเป็นการ Match ค่าแบบใกล้เคียง จึงมีข้อจำกัดว่าข้อมูลจะต้องเรียงกันจากน้อยไปหามากครับ

หากเปลี่ยนส่วนประกอบสุดท้ายเป็น 0 ซึ่งเป็นการ Match แบบค่าตรงตัว จะได้คำตอบที่ต้องการครับ :mrgreen:

เนื่องจากฟังก์ชั่น Match ให้ผลลัพธ์เป็นค่าลำดับอยู่แล้ว ดังนั้นสามารถละ Index ไปได้ครับ ซึ่ง J15 จะเหลือแค่

=MATCH(F15&G15,$B$4:$B$10&$C$4:$C$10,0)

Ctrl+Shift+Enter > Copy ลงด้านล่าง 8-)
apichart2007
Member
Member
Posts: 42
Joined: Mon Jan 25, 2010 9:11 am

Re: ต้องการให้ Combo Box ฝังอยู่ในเซลล์A2 (สมมุติ)

#13

Post by apichart2007 »

เข้าใจมากขึ้นมากเลยครับ....ขอบคุณมากกกกกกกครับผม
Post Reply