Page 1 of 1

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

Posted: Mon Feb 22, 2010 10:53 am
by apichart2007
ขอความช่วยเหลือครับ

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

อภิชาติ
22 ก.พ.2553

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

Posted: Mon Feb 22, 2010 11:15 am
by snasui
:D ช่วยอธิบายให้ชัดเจนอีกหน่อยครับ ฝัง Combo box แล้วให้แสดงตัวหนังสือขนาดเท่ากับที่กำหนดในเซลล์ ย่อมไม่สามารถทำได้ครับ เพราะในเซลล์สามารถกำหนดขนาดตัวหนังสือได้ ส่วนใน Combo box ไม่สามารถกำหนดขนาดตัวหนังสือได้

ถ้าระบุวัตถุประสงค์การใช้งานมาด้วยก็จะดีครับ เพื่อจะได้หาวิธีการอื่น ๆ มาช่วยแทน :mrgreen:

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

Posted: Mon Feb 22, 2010 11:55 am
by apichart2007
ต้องการให้ Combo Box ฝังอยู่ในเซลล์J4
แล้วเวลาเราคลิ้กเลือกคำว่า Banana มันจะปรากฎ Banana สีน้ำเงินพื้นสีฟ้า
ในช่องเซลล์ J4และขนาดความสูงตัวอักษรเท่ากับ Cordia New26ด้วย

ดูไฟล์ที่แนบมาด้วยครับผม

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

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

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

ลองตามนี้

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

สำหรับการปรับขนาดในไฟล์ที่แนบมานั้นอยู่ที่ 75% จึงส่งผลให้ List ในเซลล์ J4 ดูเล็กมากครับ :mrgreen:

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

Posted: Mon Feb 22, 2010 5:01 pm
by apichart2007
ขอขอบพระคุณอย่างสูงครับ

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

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

Posted: Mon Feb 22, 2010 5:36 pm
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:

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

Posted: Tue Feb 23, 2010 11:25 am
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))))

ขอบคุณครับ

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

Posted: Tue Feb 23, 2010 6:00 pm
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:

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

Posted: Wed Feb 24, 2010 2:04 pm
by apichart2007
ขอบพระคุณอย่างสูงครับ....มันเรียงให้ตามที่ผมต้องการให้แล้วล่ะ

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

กรุณาดูไฟล์ที่แนบมครับ

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

Posted: Wed Feb 24, 2010 4:49 pm
by snasui
:D เนื่องจากข้อมูลมีหลายเลขลำดับกำกับอยู่แล้ว สามารถใช้สูตร Sumproduct ตามด้านล่างหาลำดับได้ครับ

ที่ J15 คีย์

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

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

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

Posted: Thu Feb 25, 2010 1:49 pm
by apichart2007
ได้คำตอบแล้วครับ

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

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

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

Posted: Thu Feb 25, 2010 1:59 pm
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-)

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

Posted: Tue Mar 02, 2010 5:00 pm
by apichart2007
เข้าใจมากขึ้นมากเลยครับ....ขอบคุณมากกกกกกกครับผม