Page 1 of 1

เปลี่ยนสีค่าเมื่อได้ 0 และ ซ่อนค่า 0 ที่ไม่มีข้อมูล

Posted: Thu Apr 11, 2019 6:40 pm
by nuzone
ผมทำการคิดเกรดเฉลี่ย มีค่าตั้งแต่ 0-4 โดยกำหนดให้ช่องที่เป็น 0 แสดงตัวอักษรเตือนสีแดงครับ ใช้ conditional formatting เหมือนกับคอลัมน์ก่อนหน้า แต่ไม่สำเร็จครับ อีกทั้งค่า 0 ยังแสดงในช่องที่ไม่มีนักเรียนด้วยครับ ซึ่งได้ทำการตั้งค่า format cells > custom > พิมพ์ 0.0;;;@ แล้ว แต่ก็ไม่เป็นผลเช่นกัน หรือวิธีการนี้ใช้ไม่ได้กับการใช้สูตร if ครับ ขอความรู้จากท่านสมาชิกด้วยครับ

Re: เปลี่ยนสีค่าเมื่อได้ 0 และ ซ่อนค่า 0 ที่ไม่มีข้อมูล

Posted: Thu Apr 11, 2019 7:04 pm
by snasui
nuzone wrote: Thu Apr 11, 2019 6:40 pm ได้ทำการตั้งค่า format cells > custom > พิมพ์ 0.0;;;@
:D ที่ผมยกมาเป็นการกำหนด Custom Format ไม่ถูกต้องครับ

ต้องทำความเข้าใจลักษณะการกำหนด Custom Format เสียใหม่ครับ

การพิมพ์เช่นนั้นหมายถึง
  • หากค่าในเซลล์เป็นบวกให้แสดงรูปแบบเป็น 0.0 คือมีทศนิยม 1 ตำแหน่ง
  • หากค่าในเซลล์เป็นลบให้แสดงเป็นค่าว่าง
  • หากค่าในเซลล์เป็นศูนย์ให้แสดงเป็นค่าว่าง
  • หากค่าในเซลล์เป็นเป็นตัวหนังสือให้แสดงตัวหนังสือนั้น
สูตร If ทีเขียนมานั้นควรจะให้แสดงผลลัพธ์เป็นตัวเลข ไม่ใช่ตัวหนังสือ การครอบตัวเลขด้วยเครื่องหมายฟันหนูจะทำให้ตัวเลขกลายเป็นตัวหนังสือทำให้เมื่อกำหนด Custom Format แล้วจะไม่ได้คำตอบตามที่ต้องการ ให้แก้ไขสูตรเสียใหม่โดยลบฟันหนูทิ้งไปครับ

Re: เปลี่ยนสีค่าเมื่อได้ 0 และ ซ่อนค่า 0 ที่ไม่มีข้อมูล

Posted: Thu Apr 11, 2019 11:07 pm
by nuzone
ผมได้เอา custom format ออกแล้วครับ และเอาเครื่องหมายฟันหนูออกแล้วด้วย แต่ก็เจอปัญหาใหม่อีกครับ คือ เกรดเฉลี่ยที่เป็น 0 จริงจะไม่แสดงผลไปด้วย และเกรดเฉลี่ยที่มีทศนิยม จะถูกปรับเป็นจำนวนเต็ม

ขอคำแนะนำอาจารย์มีคำแนะนำเพิ่มเติมหน่อยครับ จุดประสงค์ที่ต้องการคือ ให้แสดงค่าเกรดเฉลี่ยเป็น 0/1/1.5/2/2.5/3/3.5/4 ให้ค่าที่เป็น 0 เป็นตัวอักษรสีแดง ส่วนเซลที่ไม่มีข้อมูลเกรดเฉลี่ย ไม่ต้องการให้แสดงค่า 0 ครับ

Re: เปลี่ยนสีค่าเมื่อได้ 0 และ ซ่อนค่า 0 ที่ไม่มีข้อมูล

Posted: Fri Apr 12, 2019 12:25 am
by Bo_ry
H3
=IF(B5=0,"",MATCH(G5,{0,50,55,60,65,70,75,80})/2*(G5>=50))

Custom format
General;;[Red]0

Re: เปลี่ยนสีค่าเมื่อได้ 0 และ ซ่อนค่า 0 ที่ไม่มีข้อมูล

Posted: Fri Apr 12, 2019 5:29 pm
by nuzone
Bo_ry wrote: Fri Apr 12, 2019 12:25 am H3
=IF(B5=0,"",MATCH(G5,{0,50,55,60,65,70,75,80})/2*(G5>=50))

Custom format
General;;[Red]0
ได้ผลตามที่ต้องการแล้วครับ ขอบคุณมากครับ เนื่องจากผมมือใหม่ ขอคำอธิบายสูตรที่แนะนำมาหน่อย เป็นความรู้ได้มั้ยครับ ว่าสูตรมีขั้นตอนการทำงานอย่างไร

Re: เปลี่ยนสีค่าเมื่อได้ 0 และ ซ่อนค่า 0 ที่ไม่มีข้อมูล

Posted: Fri Apr 12, 2019 5:57 pm
by Bo_ry
=IF(B5=0,"",
เช็คว่าถ้า B5 เป็นค่าว่างหรือ 0 ให้แสดงเป็นค่าว่าง "" ถ้าไม่ใช้คำนวณ
MATCH(G5,{0,50,55,60,65,70,75,80})/2*(G5>=50))
__________1, 2, 3 , 4, 5 , 6, 7, 8

MATCH(G5,{0,50,55,60,65,70,75,80}) aproximate match /2
G5 >=0 และ G5 < 50 ได้ 1 /2 =0.5
G5 >=50 และ G5 < 55 ได้ 2 /2 =1

G5 >=75 และ G5 < 80 ได้ 7 /2 =3.5
G5 >=80 ได้ 8 /2 =4

มี G5 < 50 ได้ 0.5 ควรจะเป็น 0 G5>=50 แสดงค่าถูกต้อง

ถ้า G5 < 50
0.5 *(G5>=50) =0.5 * False = 0.5 * 0 = 0

ถ้า G5 =50
1*(G5>=50) = 1 * True = 1* 1 = 1