ข้ามไปที่เนื้อหาหลัก

การใช้ if ตรวจสอบหลายเงื่อนไข ใน Excel

การใช้ฟังก์ชัน If ของ Excel ตรวจสอบหลายเงื่อนไข  มีรูปแบบ ดังนี้            If( condition, value_if_true, value_if_false )

เราสามารถตรวจสอบหลายเงื่อนไข โดยการเพิ่ม if เข้าในส่วนที่ไม่เป็นไปตามเงื่อนไข เช่น
            If( condition, value_if_true, If( condition, value_if_true, value_if_false ) )
ตัวอย่าง
            =IF(MID(A1,1,3)="นาย","นาย",IF(MID(A1,1,3)="นาง","นาง",""))

ถ้ามีการตรวจสอบหลายครั้ง การใช้ฟังก์ชัน if จะไม่ค่อยสะดวก เพราะตรวจสอบยากมาก เนื่องจากข้อความที่เขียนจะยาวมาก ต้องตรวจสอบหลายครั้งกว่าที่จะทำได้ถูกต้อง

ทางออกอย่างหนึ่งที่ง่ายกว่า คือการใช้ VBA ช่วย โดยสร้างฟังก์ชันขึ้นใช้เอง และใช้ if หรือ Select caseตรวจสอบเงื่อนไข จะทำให้สะดวกกว่า เช่น
    if (เงื่อนไขที่ 1) then
        ..............................
    elseif (เงื่อนไขที่ 2) then
        ..............................
    elseif (เงื่อนไขที่ 3) then
        ...............................

    elseif (เงื่อนไขที่ 4) then
        ...............................
    else
        ...............................
    end if

ตัวอย่าง

ต้องการตรวจสอบและแยกคำนำหน้าชื่อออกไปอีกเซลล์ต่างหาก คำนำหน้าชื่อที่ต้องการตรวจสอบมีหลายคำ ได้แก่ นาย นาง นางสาว เด็กชาย เด็กหญิง ด.ช. และ ด.ญ.

วิธีการ
  1. เปิดหน้าจอ VBA โดยกด Alt + F11
  2. เพิ่ม Module โดยไปที่ Insert > Module
  3. คลิกเลือก Module
  4. คัดลอก ข้อความต่อไปนี้ และ Paste ลงในหน้าจอ

    Function getTitle(fullName As String) As String
    Dim thisTitle As String
        If Mid(fullName, 1, 3) = "นาย" Then
            getTitle = "นาย"
        ElseIf Mid(fullName, 1, 3) = "นาง" Then
            getTitle = "นาง"
        ElseIf Mid(fullName, 1, 6) = "นางสาว" Then
            getTitle = "นางสาว"
        ElseIf Mid(fullName, 1, 4) = "ด.ช." Then
            getTitle = "ด.ช."
        ElseIf Mid(fullName, 1, 5) = "ด.ญ." Then
            getTitle = "ด.ญ."
        ElseIf Mid(fullName, 1, 7) = "เด็กชาย" Then
            getTitle = "เด็กชาย"
        ElseIf Mid(fullName, 1, 8) = "เด็กหญิง" Then
            getTitle = "เด็กหญิง"
        Else
            getTitle = blank
        End If
    End Function


วิธีการเรียกใช้งาน ฟังก์ชัน ให้ดูเรื่อง การแยกคำนำหน้าชื่อ

    ความคิดเห็น

    1. อาจารย์ครับ รบกวนสอบถามเรื่อง ฟังชั่นหน่อยครับ
      ยกตัวอย่างนะครับคือ สมมุติผมมีรหัสอยู่ 10 รหัส คือ 00111-00201
      โดยในหลักที่ 3กับ4 จะมีรหัสเฉพาะปนอยู่ คือ 11ถึง20
      ถ้า ใส่รหัสที่มีเลข 11-15 จะให้แสดงคำว่าผู้ชาย
      แต่ถ้าใส่ 16-20 ให้แสดงคำว่าผู้หญิง
      อย่างนี้จะต้องเขียนสูตรอย่างไรครับ รบกวนหน่อยครับ..
      A1 B1
      00111 ผู้ชาย
      00121 ผู้ชาย
      00131 ผู้ชาย
      00141 ผู้ชาย
      00151 ผู้ชาย
      00161 ผู้หญิง
      00171 ผู้หญิง
      00181 ผู้หญิง
      00191 ผู้หญิง
      00201 ผู้หญิง

      ตอบลบ
      คำตอบ
      1. ลองใช้สูตรนี้ดู เขียนที่ช่อง B1 นะครับ

        =IF(AND(INT(MID(A1,3,2))>10,INT(MID(A1,3,2))<16),"ผู้ชาย","ผู้หญิง")

        ต้องบังคับให้เป็นตัวเลข แล้วเอามาเปรียบเทียบกับเกณฑ์ ตามเงื่อนไข ถ้าไม่ใช้ int() บังคับ จะเพี้ยนเพราะเอาตัวหนังสือมาเปรียบเทียบกับตัวเลข จะยุ่งกันใหญ่

        ลบ
    2. ขอโทษครับ ตรง A1กับ B1 มันไม่ตรงคอลัมครับ เดี๋ยว อาจารย์จะงง A1 เป็นคอลัมรหัส ส่วน B1 เป็นคอลัม ผู้ชาย ผู้หญิงครับ

      ตอบลบ

    แสดงความคิดเห็น

    โพสต์ยอดนิยมจากบล็อกนี้

    อุปมา อุปไมย สำนวนการเปรียบเทียบ ของไทย

    การเตรียมสอบ ก.พ. ภาค ก. เพื่อสอบบรรจุเข้ารับราชการ มีการทดสอบความสามารถทั่วไป มักจะมี
    ข้อสอบที่เกี่ยวกับอุปมาอุปไมย  ข้อสอบมีลักษณะ ให้หาตัวเลือกที่มีความหมาย ความสัมพันธ์คล้ายคลึง หรือเหมือนกับที่โจทย์กำหนดให้มา  หรือเติมข้อความที่มีความหมายสอดคล้องกับคำอุปมาอุปไมยที่ยกมาให้ เป็นต้น ดังนั้น การเข้าใจความหมายของคำอุปมาอุปไมย จึงช่วยให้ทำข้อสอบได้ดียิ่งขึ้น

    คำอุปมาอุปไมย หมายถึง ถ้อยคำที่เป็นสำนวนพวกหนึ่ง กล่าวทำนองเปรียบเทียบ ให้เห็นจริง เข้าใจแจ่มแจ้งชัดเจน และสละสลวยน่าฟังมากขึ้น การพูดหรือการเขียน นิยมหาคำอุปมาอุปไมยมาเติมให้ได้ความชัดเจนเกิดภาพพจน์ เข้าใจง่าย เช่น

    คนดุ หากต้องการให้ความหมายชัดเจน น่าฟัง และเกิดภาพพจน์ชัดเจนก็ต้องอุปมาอุปไมยว่า “ดุ เหมือน เสือ”
    ขรุขระมาก การสื่อความยังไม่ชัดเจนไม่เห็นภาพ ต้องอุปมาอุปไมยว่า “ขรุขระเหมือนผิวมะกรูด” หรือ “ขรุขระเหมือนผิวพระจันทร์” ก็จะทำให้เข้าใจ ความหมายในรูปธรรมชัดเจนมากยิ่งขึ้น

    คำอุปมาอุปไมยที่ควรรู้จัก (พิมพ์คำ/ข้อความ แล้วกดปุ่ม "ค้นหา")

    แนวข้อสอบ เงื่อนไขสัญลักษณ์

    ครั้งที่แล้ว ได้แนะนำหลักการทำ ข้อสอบ ก.พ. ภาค ก. ความสามารถทั่วไป เงื่อนไขสัญลักษณ์ มา แล้ว ถ้าใครยังไม่ได้อ่าน ก็คลิกกลับไปอ่านได้
    ความจริง ข้อสอบเงื่อนไขสัญลักษณ์ เป็นข้อสอบไม่ยาก ถ้าเข้าใจหลักการ และมีทักษะความชำนาญ ใจเย็น ๆ อย่าตื่นเต้น โดยเฉพาะการดูเครื่องหมายต่าง ๆ อย่าดูผิด เช่น เครื่องหมายมากกว่า (>) น้อยกว่า (<) เป็นต้น เพราะการแก้ปัญหาโจทย์เงื่อนไขสัญลักษณ์ หรือ inequality ก็คล้ายกับการแก้ปัญหาสมการโดยทั่วไป นั่นเอง คือ สามารถบวก ลบ คูณ หาร ด้วยจำนวนที่เท่ากัน ทั้งสองข้างของเครื่องหมายได้ กลับเศษเป็นส่วนได้ แต่ก็มีบางเรื่อง บางรายละเอียดที่แตกต่างกันบ้าง ซึ่งอ่านได้จาก ข้อสอบ ก.พ. ภาค ก. ความสามารถทั่วไป เงื่อนไขสัญลักษณ์ นะครับ ครั้งนี้ จึงเป็นการนำแนวข้อสอบ เงื่อนไขสัญลักษณ์ เพื่อนำมาฝึกทำให้เกิดทักษะความชำนาญ เพื่อจะได้ทำข้อสอบได้รวดเร็วขึ้น เพราะในห้องสอบ เวลาจัดได้ว่ามีค่ามาก ยิ่งทำเร็วและถูกต้อง ยิ่งดี คำสั่ง

    เลือกตอบข้อ 1. ถ้าข้อสรุปทั้งสอง ถูกด้องหรือเป็นจริง ตามเงื่อนไข
    เลือกตอบข้อ 2. ถ้าข้อสรุปทั้งลอง ผิดหรือไม่เป็นจริง ตามเงื่อนไข
    เลือกตอบข้อ 3. ถ้าข้อ…

    เทคนิคการทำ ข้อสอบ อนุกรม ของ ก.พ.

    |ประเภทของอนุกรม เทคนิคการทำโจทย์เลข อนุกรม ข้อแนะนำเพิ่มเติม |


    ข้อสอบเลขอนุกรม ของ ก.พ. ต้องการวัดความถนัดทางด้านตัวเลข โดยการจัดทำตัวเลขเป็นชุด ๆ ที่มีความสัมพันธ์กันบางอย่าง โดยให้ผู้เข้าสอบได้แสดงความถนัดด้านตัวเลข ในการวิเคราะห์และแก้ปัญหาตามที่โจทย์ระบุ


    ประเภทของอนุกรม รูปแบบความสัมพันธ์ของตัวเลขอนุกรมเท่าที่พบบ่อย ๆ มีหลายประเภท เช่น

    ก. อนุกรมเชิงเดี่ยว 

    ได้แก่ชุดตัวเลขที่เป็นอนุกรมเพียงชุดเดียว เช่น
    ค่าของตัวเลขเพิ่มขึ้นต่อเนื่องอย่างเป็นระบบ โดยการบวก หรือ คูณ ตัวเลขก่อนหน้า เช่น บวกด้วยตัวเลขที่เป็นค่าคงที่ เช่น    5   10   15   20   ...?...
    บวกด้วยตัวเลขที่มีระบบ เช่น     1    2    5    10   ...?...
    คูณด้วยค่าคงที่ เช่น   1   3   9   27   ...?...
    มีทั้ง บวก ลบ คูณ หรือหาร สลับกัน เช่น บวกแล้วคูณด้วยค่าคงที่สลับกัน ดังตัวอย่าง  5   7    14   16  32   ...... มีการ บวก ลบ คูณ หรือ หาร ร่วมกัน เช่น  15   31   63   127   255  ...?...
    ในตัวอย่างนี้ จะเห็นว่า ตัวเลขตัวแรกคูณด้วย 2 และบวกด้วย 1 จะได้ตัวเลขตัวถัดไป คูณด้วยค่าคงที่ที่เป็นเศษส่วน ให้สังเกตความสัมพันธ์ว่า ตัวเลขก่อนหน้า …