: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

อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#1

Post by ryback »

ผมศึกษาเอง และทำ Drop Down List ได้แล้ว แต่มีความต้องการอยากเพิ่มให้ ข้อมูลที่จัดเก็บ ดูได้ง่ายขึ้น ดังนี้
1. เพิ่มสีพื้นเมื่อเลือก Drop Down List ต่างข้อกัน เช่น ทรัพย์สินที่ยังไม่ได้คืน เป็นสีแดง คืนแล้วเป็นสีเขียว ครับ
2. ผมไม่ทราบว่า มีวิธีไหนที่จะสามารถเรียกข้อมูลมาดูเฉพาะร้านค้าที่ยังไม่ได้คืนทรัพย์สิน แล้วสั่งพิมพ์ออกมา ครับ

ขอบคุณล่วงหน้าครับ :cp:
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#2

Post by snasui »

:D แนบไฟล์ตัวอย่างมาด้วยครับ แสดงให้เห็นว่าข้อมูลเป็นอย่างไร ต้องการคำตอบเป็นอย่างไร จะได้เข้าใจตรงกันครับ
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#3

Post by ryback »

ขอบคุณมากครับ
http://upic.me/i/g1/excel.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#4

Post by snasui »

:D ลองตามนี้ครับ
  1. คลุม A2:J16
  2. เข้าเมนู Home > Conditional Formatting > Manage Rules
  3. คลิก New Rule > ตรง Select rule type: เลือก Use formula determine which cells to format
  4. ตรง Formula values where this formula is true: คีย์ =$H2="ยังไม่ได้คืน" > คลิกปุ่ม Format > ที่แถบ Fill ระบายสีแดง > OK
  5. ทำข้อ 3-4 ซ้ำ โดยคีย์สูตรเป็น =$H2="คืนแล้ว" > คลิกปุ่ม Format > ที่แถบ Fill ระบายสเขียว > OK > OK > OK
ryback wrote:2. ผมไม่ทราบว่า มีวิธีไหนที่จะสามารถเรียกข้อมูลมาดูเฉพาะร้านค้าที่ยังไม่ได้คืนทรัพย์สิน แล้วสั่งพิมพ์ออกมา ครับ
ลองทำตัวอย่างมาครับว่าต้องการจะดูข้อมูลในพื้นที่ใด โดยดึงข้อมูลใดมาบ้าง
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#5

Post by ryback »

โอ้ ทำได้แล้วครับ ไม่ยากอย่างที่คิดแฮะ
ส่วนข้อ 2 ประมาณว่า จะสร้าง Sheet ใหม่ขึ้นมา โดยตารางข้อมูลเหมือนเดิม แต่ให้แสดงแต่เฉพาะร้านค้าที่มีปัญหา ติดสีแดง คือ ค้างส่งอย่างใดอย่างหนึ่ง หรือทั้ง 3 อย่างเลยครับ
เพื่อที่ว่าเวลาจะสั่งพิมพ์ก็จะได้สั่งเฉพาะชีทนี้ ไม่ต้องพิมพ์หมดทุกอัน โดยชีทใหม่ไม่จำเป็นต้องมีสีพื้นแล้ว เพราะมีแต่ข้อมูลร้านที่มีปัญหาครับ

ขอบคุณมากๆๆ เลยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#6

Post by snasui »

:lol: ให้สร้างชีทขึ้นมาก่อนเพื่อให้เห็นว่าข้อมูลที่ต้องการอยู่ในชีทไหน หน้าตาเป็นอย่างไร แล้วแนบไฟล์นั้นกลับมาอีกครั้งจะได้สะดวกในการตอบแบบอ้างอิงเซลล์อ้างอิงชีทครับ
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#7

Post by ryback »

อยากทำตามรูปนี้ครับ ขอคำแนะนำด้วย ขอบคุณมากๆๆครับ ^/\^
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#8

Post by snasui »

:D จากภาพที่แนบมา เซลล์ A3 คีย์

=IFERROR(INDEX(AllData!C$2:C$16,SMALL(IF(AllData!$B$2:$B$16=$G$1,IF(AllData!$H$2:$H$16="ยังไม่ได้คืน",ROW(AllData!$B$2:$B$16)-ROW(AllData!$B$2)+1)),ROWS(A$3:A3))),"")

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

Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#9

Post by ryback »

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

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#10

Post by snasui »

:D ตัวอย่างข้อมูล สูตรและผลลัพธ์ตามภาพด้านล่างครับ

การไม่เห็นไฟล์ว่าคีย์อย่างไรทำให้ตอบลำบากครับ :mrgreen:
You do not have the required permissions to view the files attached to this post.
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#11

Post by ryback »

อ่า รบกวนท่านดูจากไฟล์ที่ผมแก้ไขไว้ ตรวจสูตรก็ตรงทุกตัวอักษร เลยไม่ทราบว่าต้องแก้ไขจากตรงไหน

ปล. พวกสูตรนี้จะหาศีกษาได้จากไหนครับ ดูมันลึกล้ำมาก

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

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#12

Post by snasui »

:D คำว่า ยังไม่ได้คืน ในสูตรที่เขียนมา มีวรรค อยู่ข้างหน้า 1 วรรค ให้ลบวรรคทิ้งไปก็จะได้คำตอบครับ

สูตรพวกนี้ในเวบนี้มีจำนวนมากครับ การจะเขียนได้ซับซ้อนจำเป็นจะต้องทราบว่าแต่ละฟังก์ชั่นให้ผลลัพธ์เป็นอย่างไร ศึกษาฟังก์ชั่นต่าง ๆ ได้ที่ http://office.microsoft.com/th-th/excel ... aspx?CTT=1
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#13

Post by ryback »

กรำ ตายตอนจบ เส้นผมบังภูเขา จริงๆ 5555+
ในสูตรถ้าผมจะเพิ่ม "เอกสารยังไม่ครบ" และ "ยังไม่เข้าระบบ" จะเพิ่มตรงไหนได้บ้างครับ

ขอบคุณมากๆครับ ^/\^ ขอให้ปีใหม่นี้พบเจอแต่ สิ่งดีๆนะครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#14

Post by snasui »

:lol:
ryback wrote:กรำ ตายตอนจบ เส้นผมบังภูเขา จริงๆ 5555+
อย่าพยายามหลงลืมใช้ภาษาแชทบ่อยครับ อ่านกฎทุกข้อให้เข้าใจอีกครั้งครับ :roll:

หาค่าอื่นก็แค่เปลี่ยนคำอื่นแทน ยังไม่ได้คืน ครับ
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#15

Post by ryback »

ขอโทษครับ พอดีแสดงอารมณ์ชัดเจนไปหน่อย :roll:

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

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#16

Post by snasui »

:D ถ้าจะเพิมค่าการค้นหาเปลี่ยนสูตรเป็นด้านล่างครับ

=IFERROR(INDEX(AllData!C$2:C$16,SMALL(IF(AllData!$B$2:$B$16=$G$1,IF(Isnumber(match(AllData!$H$2:$H$16,{"ยังไม่ได้คืน","เอกสารยังไม่ครบ","ยังไม่เข้าระบบ"},0)),ROW(AllData!$B$2:$B$16)-ROW(AllData!$B$2)+1)),ROWS(A$3:A3))),"")

ต้องการใส่อีกกี่ค่าก็ใส่เข้าไปในวงเล็บปีกกาครับ
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#17

Post by ryback »

ลองเปลี่ยนแล้วครับ แต่สูตรก็ยังอ้างอิงที่ H2 จึงทำให้ปัญหาอื่นๆที่เพิ่มไป ไม่แสดงในหน้าสรุปผล ผมเลยลองแก้ไขเองดังนี้

=IFERROR(INDEX(AllData!C$2:C$300,SMALL(IF(AllData!$B$2:$B$300=$H$1,IF(ISNUMBER(MATCH(AllData!$G$2:$I$300,{"ยังไม่ได้คืน","เอกสารยังไม่ครบ","ยังไม่เข้าระบบ"},0)),ROW(AllData!$B$2:$B$300)-ROW(AllData!$B$2)+1)),ROWS(B$3:B7))),"")

ผลที่ได้เป็นไปตามที่ต้องการครับ แต่ว่ามันแสดงผลซ้ำตาม จำนวนปัญญาที่เกิดขึ้น เช่น ถ้าร้านไหนมีปัญหาครบสามข้อ "ยังไม่ได้คืน","เอกสารยังไม่ครบ","ยังไม่เข้าระบบ" ในหน้าสรุปผลก็จะแสดงซ้ำ 3 อัน อยากให้แสดงผลแค่ครั้งเดียวพอต้องทำอย่างไรครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#18

Post by snasui »

:lol: สรุปยังต้องดูที่ H1 อยู่อีกหรือไม่ครับ หรือว่าไม่สนใจว่าสายอะไรขอแค่ให้เข้าเงื่อนไขตามที่บอกมาก็ให้นำมาทั้งหมด สำหรับสูตรที่ผมเขียนให้นั้น จะปรับตามด้านล่างไม่ได้ครับ

=IFERROR(INDEX(AllData!C$2:C$300,SMALL(IF(AllData!$B$2:$B$300=$H$1,IF(ISNUMBER(MATCH(AllData!$G$2:$I$300,{"ยังไม่ได้คืน","เอกสารยังไม่ครบ","ยังไม่เข้าระบบ"},0)),ROW(AllData!$B$2:$B$300)-ROW(AllData!$B$2)+1)),ROWS(B$3:B7))),"")

การอ้างว่าเข้าเงื่อนไขหรือไม่เข้าเงื่อนไขพิจารณาที่คอลัมน์ H อย่างเดียว ไม่ใช่ G:I
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#19

Post by snasui »

:shock: ผมอ่านดูอีกทีเหมือนต้องการจะใช้เงื่อนไข 3 คอลัมน์ ช่วยอธิบายมาให้ละเอียดว่าต้องการอย่างไร จะได้เข้าใจตรงกัน
ryback
Member
Member
Posts: 16
Joined: Fri Jan 04, 2013 10:32 pm

Re: อยากทราบวิธีเพิ่มสีพื้นเมื่อเลือกDropDownList ครับ

#20

Post by ryback »

snasui wrote::shock: ผมอ่านดูอีกทีเหมือนต้องการจะใช้เงื่อนไข 3 คอลัมน์ ช่วยอธิบายมาให้ละเอียดว่าต้องการอย่างไร จะได้เข้าใจตรงกัน
ใช่แล้วครับ ผมอยากให้นำผลทั้งสามคอลัมน์ G, H และ I มาแสดงสรุปใน ชีท SumR01 เพื่อที่จะได้ทราบว่ามีปัญหาอะไรบ้างที่ต้องติดตาม แม้ว่าจะติดปัญหาแค่เรื่องเดียวก็ตาม

=IFERROR(INDEX(AllData!C$2:C$16,SMALL(IF(AllData!$B$2:$B$16=$G$1,IF(Isnumber(match(AllData!$H$2:$H$16,{"ยังไม่ได้คืน","เอกสารยังไม่ครบ","ยังไม่เข้าระบบ"},0)),ROW(AllData!$B$2:$B$16)-ROW(AllData!$B$2)+1)),ROWS(A$3:A3))),"")

ตามสูตรเดิม แม้จะเพิ่มข้อมูล(เอกสารยังไม่ครบ และยังไม่ได้เข้า)เข้าไป แต่ว่า ในช่อง H2 จะมีข้อมูลอยู่แค่ 2 อันคือ "ยังไม่ได้คืนกับคืนแล้ว" จึงทำให้เมื่อ เลือกช่อง H2 ให้มีค่าเป็น "คืนแล้ว" แต่ช่องอื่นเป็น "เอกสารยังไม่ครบ และยังไม่ได้เข้าระบบ" ใน SumR01 เลยกลับ ไม่มีข้อมูลอะไรแสดงให้เห็นเลย ทั้งๆที่ ติดปัญหาดังกล่าวอีก 2 ข้อ ทำให้ไม่สามารถติดตามปัญหาที่เหลือได้ในหน้า SumR01 ครับ

สิ่งที่ผมอยากทำก็คือ ในคอลัมน์ G, H และ I หากมีปัญหาเกิดขึ้นเพียงแค่ 1 อย่าง ไม่ว่าจะเป็น "ยังไม่ได้คืน","เอกสารยังไม่ครบ","ยังไม่เข้าระบบ" หรืออย่างใดอย่างหนึ่ง
ให้ไปแสดงในหน้า SumR01 ครับ
Post Reply