snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sakijung
Member
Posts: 3 Joined: Mon Apr 01, 2013 3:04 pm
#1
Post
by sakijung » Mon Apr 01, 2013 3:18 pm
ตอนนี้ผมใช้สูตร =MAX($W9:$AA9)=W9 และให้แสดงค่ามากที่สุดเป็นตัวสีแดง ที่เหลือให้เป็นตัวสีขาวเพือไม่ต้องการให้เห็น
ในการใช้การจัดรูปแบบมีเงื่อนไข
ปรากฎว่ากรณีที่มีค่าซ้ำกันสูงสุด เช่น 2 2 0 0 0 ผมอยากให้มันขึ้นตรง 2 ตัวแรก ซึ่งสัมพันธ์กับระดับคะแนนคือ 5 4 3 2 1 เรียงตามลำดับ
ดั่งภาพ
-----5----4-----3------2------1 ระดับคะแนน
-----2----2-----0------0------0
-----1----1-----2------2------1
โดยอยากให้ปรากฏตัวเลขเพียงหนึ่่งตัว ซึ่งสัมพันธ์กับระดับคะแนน
-----5----4-----3------2------1 ระดับคะแนน
-----2---------------------------
-----------2---------------------
-----------------2---------------
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
tupthai
Bronze
Posts: 302 Joined: Sat Feb 04, 2012 2:49 pm
#2
Post
by tupthai » Mon Apr 01, 2013 3:42 pm
1).เลือกช่วงข้อมูล W11:AA13
2).ใช้conditional formatting สูตร
=COLUMN(W8)=LOOKUP(2,1/($W8:$AA8=MAX($W8:$AA8)),COLUMN($W8:$AA8))
แล้วกำหนดรูปแบบตามต้องการ
และ ที่เซลล์ W8 สามารถใช้สูตรแทนของเดิมดังนี้
=SUMIF($C$6:$V$6,W$6,$C8:$V8)
enter > copy ไปทางขวาและลงด้านล่างครับ
sakijung
Member
Posts: 3 Joined: Mon Apr 01, 2013 3:04 pm
#3
Post
by sakijung » Mon Apr 01, 2013 4:32 pm
ทำตามการกำหนดรูปแบบข้อนี้แล้ว
=COLUMN(W8)=LOOKUP(2,1/($W8:$AA8=MAX($W8:$AA8)),COLUMN($W8:$AA8))
ปรากฎว่ามีการเปลี่ยนแปลงตรงกับหัวข้อที่คะแนนที่น้อยกว่าครับผม เช่นบรรทัดแรก แทนที่จะเปลี่ยนตรงหัวคะแนนที่
5 มันเปลี่ยนตรงหัวคะแนน 4 อยากให้มันแสดงที่คะแนนเต็ม 5 ครับ
ขอบคุณครับ
tupthai
Bronze
Posts: 302 Joined: Sat Feb 04, 2012 2:49 pm
#4
Post
by tupthai » Mon Apr 01, 2013 4:56 pm
เปลี่ยนใหม่เป็น
=COLUMNS($W$8:W8)=MATCH(TRUE,($W8:$AA8=MAX($W8:$AA8)),0)
sakijung
Member
Posts: 3 Joined: Mon Apr 01, 2013 3:04 pm
#5
Post
by sakijung » Mon Apr 01, 2013 6:37 pm
ตรงประเด็นเรียบร้อยครับ ได้ทำให้ผมศึกษาเพิ่มการใช้ lookup และ คอลัมน์
ส่วนคำตอบข้างบนศึกษาใหม่ในภายหน้าครับ อย่างน้อยถ้าเจอสถานการณ์แบบนี้ก็จะประยุกต์ใช้ได้ครับ
ขอบคุณอีกครั้งครับ