หน้าเว็บ

วันเสาร์ที่ 25 พฤษภาคม พ.ศ. 2556

การเปรียบเทียบค่า True, False กับ 1, 0

Smile สำหรับท่านที่ใช้งาน Excel มาสักระยะจะพบว่า True เปรียบได้กับเลข 1 และ False เปรียบได้กับเลข 0 หากเราคีย์ในเซลล์ใด ๆ เป็น

=True+0

ผลลัพธ์จะได้ 1

=False+0

ผลลัพธ์จะได้ 0

จากด้านบนเป็นการยืนยันว่า True กับ 1 และ False กับ 0 สามารถเทียบเคียงกันได้

สำหรับ True, False ถ้าอยู่เดี่ยว ๆ ในสูตร หรือ ถ้าเทียบกับพวก Logic กันเองเช่น

=True>False

ผลลัพธ์จะได้เป็น True ซึ่งถือเสมือนเป็นการเปรียบเทียบตัวเลขกับตัวเลข (1>0) ถ้าเทียบข้ามพวกเช่นไปเทียบกับตัวเลขเป็น

=True>9

ผลลัพธ์จะได้ True ซึ่งค่อนข้างขัดแย้ง เนื่องจากหาก True มีค่าเป็น 1 แล้วก็ต้องไม่มากกว่า 9 และผลลัพธ์ควรเป็น False แต่ในกรณีนี้เป็นการเปรียบเทียบข้ามพวก โปรแกรมจะถือ True ว่าเป็น Text และเมื่อเป็น Text จะไม่มีโอกาสน้อยกว่าตัวเลขไม่ว่าตัวเลขจะมากเท่าใดก็ตามครับ

ยกตัวอย่างเช่น หากต้องการให้

=Sum(1>False,2,0,1)

มีค่าเท่ากับ

=Sum(True>False,2,0,1)

เราจะเขียนเป็น =Sum(1>False+0,2,0,1) เพื่อบังคับให้ค่า logic กลับมาเป็นตัวเลขเสีย่กอนจึงจะเทียบกันได้ครับ Winking smile

2 ความคิดเห็น:

Unknown กล่าวว่า...

มีคำถามค่ะ ถ้าเป็นกรณี ที่ อยากได้ข้อมูลที่อยู่ใน sheet แรก มาไว้ sheet ที่สอง

โดยที่ sheet แรกเนี้ย มีผลรวม ทุก 9 ช่อง แล้วจะเอาผลรวมในsheet แรกนี้ไปใส่ใน sheet ที่สอง โดยรันลงมาไม่ข้ามช่องเหมือน sheet แรก

คำถามคือ ควรจะต้องใช้สูตรอะไร มีวิธีการทำอย่างไรบ้่างคะ

snasui กล่าวว่า...

เพื่อความสะดวกในการถาม-ตอบ สามารถโพสต์คำถามพร้อมแนบไฟล์ปัญหาได้ที่ http://www.snasui.com ครับ