តារាងមាតិកា
កំពុងព្យាយាមបង្កើតសេចក្តីថ្លែងការណ៍ IF ដោយប្រើអក្សរជំនួស ប៉ុន្តែវាបរាជ័យរាល់ពេល? បញ្ហាមិនស្ថិតនៅក្នុងរូបមន្តរបស់អ្នកទេ ប៉ុន្តែនៅក្នុងមុខងារខ្លួនវា - Excel IF មិនគាំទ្រតួអក្សរជំនួសទេ។ ទោះយ៉ាងណាក៏ដោយ មានវិធីមួយដើម្បីធ្វើឱ្យវាដំណើរការសម្រាប់ការផ្គូផ្គងអត្ថបទដោយផ្នែក ហើយការបង្រៀននេះនឹងបង្រៀនអ្នកពីរបៀប។
នៅពេលណាដែលអ្នកចង់ធ្វើការផ្គូផ្គងដោយផ្នែក ឬមិនច្បាស់នៅក្នុង Excel ដំណោះស្រាយជាក់ស្តែងបំផុតគឺ ដើម្បីប្រើអក្សរជំនួស។ ប៉ុន្តែចុះយ៉ាងណាបើមុខងារជាក់លាក់ដែលអ្នកត្រូវប្រើមិនគាំទ្រតួអក្សរជំនួស? ជាអកុសល Excel IF គឺជាមុខងារមួយក្នុងចំណោមមុខងារបែបនេះ។ នេះគឺជាការខកចិត្តជាពិសេសដោយពិចារណាថាមុខងារ "តាមលក្ខខណ្ឌ" ផ្សេងទៀតដូចជា COUNTIF, SUMIF, និង AVERAGEIFS ដំណើរការជាមួយអក្សរជំនួសបានយ៉ាងល្អឥតខ្ចោះ។
សំណាងល្អ វាមិនមែនជាឧបសគ្គដែលអាចបញ្ឈប់អ្នកប្រើប្រាស់ Excel ប្រកបដោយភាពច្នៃប្រឌិត :) ដោយការរួមបញ្ចូល IF ជាមួយនឹងមុខងារផ្សេងទៀត អ្នកអាចបង្ខំវាឱ្យវាយតម្លៃការផ្គូផ្គងផ្នែកមួយ និងទទួលបានជម្រើសដ៏ល្អមួយចំពោះរូបមន្តអក្សរជំនួសរបស់ Excel IF ។
ហេតុអ្វីបានជាមុខងារ Excel IF ជាមួយអក្សរជំនួសមិនដំណើរការ
នៅក្នុងតារាងគំរូខាងក្រោម ឧបមាថាអ្នកចង់ពិនិត្យមើលថាតើ IDs នៅក្នុងជួរទីមួយមានអក្សរ "A" ដែរឬទេ។ ប្រសិនបើរកឃើញ - បង្ហាញ "បាទ/ចាស" ក្នុងជួរ B បើមិន - បង្ហាញ "ទេ"។
វាហាក់ដូចជាការបញ្ចូលអក្សរជំនួសក្នុងការធ្វើតេស្តឡូជីខលជាដំណោះស្រាយដ៏ងាយស្រួលមួយ៖
=IF(A2="*a*","Yes", "No")
ប៉ុន្តែគួរឲ្យសោកស្ដាយ វាមិនដំណើរការទេ។ រូបមន្តត្រឡប់ "ទេ" សម្រាប់ក្រឡាទាំងអស់ សូម្បីតែកោសិកាដែលមាន "A"៖
ហេតុអ្វីសេចក្តីថ្លែងការណ៍ IF តួអក្សរជំនួសបានបរាជ័យ? ពីរូបរាងទាំងអស់ Excel មិនទទួលស្គាល់អក្សរជំនួសដែលប្រើដោយសញ្ញាស្មើគ្នា ឬសញ្ញាប្រមាណវិធីតក្កវិជ្ជាផ្សេងទៀត។ ដោយក្រឡេកមើលបញ្ជីមុខងារដែលគាំទ្រអក្សរជំនួស អ្នកនឹងសម្គាល់ឃើញថាវាក្យសម្ព័ន្ធរបស់ពួកគេសន្មតថាជាអក្សរជំនួសដើម្បីបង្ហាញដោយផ្ទាល់នៅក្នុងអាគុយម៉ង់ដូចនេះ៖
=COUNTIF(A2:A10, "*a*")
Excel IF មានអត្ថបទមួយផ្នែក
ឥឡូវនេះអ្នកដឹងពីមូលហេតុដែលរូបមន្តជំនួស IF បរាជ័យ ចូរយើងព្យាយាមរកវិធីធ្វើឱ្យវាដំណើរការ។ សម្រាប់វា យើងនឹងបង្កប់មុខងារដែលទទួលយកតួអក្សរជំនួសក្នុងការធ្វើតេស្តឡូជីខលនៃ IF ពោលគឺមុខងារ COUNTIF៖
IF(COUNTIF( cell, "* text* "), value_if_true, value_if_false)ជាមួយនឹងវិធីសាស្រ្តនេះ IF មិនមានបញ្ហាជាមួយនឹងការយល់ដឹងអំពីអក្សរជំនួស និងកំណត់អត្តសញ្ញាណកោសិកាដែលមានអក្សរ "A" ឬ "a" ដោយឥតខ្ចោះ (ចាប់តាំងពី COUNTIF មិនប្រកាន់អក្សរតូចធំ)៖
=IF(COUNTIF(A2, "*a*"),"Yes", "No")
រូបមន្តនេះទៅ B2 ឬក្រឡាផ្សេងទៀតនៅក្នុងជួរទី 2 ហើយបន្ទាប់មកអ្នកអាចអូសវាចុះក្រោមទៅកាន់ក្រឡាជាច្រើនតាមតម្រូវការ៖
ដំណោះស្រាយនេះក៏អាចប្រើដើម្បីកំណត់ទីតាំង ខ្សែអក្សរនៃលំនាំជាក់លាក់មួយ ។ ដោយសន្មតថាមានតែលេខសម្គាល់ដែលមាន 2 ក្រុមនៃ 2 តួអក្សរដែលបំបែកដោយសហសញ្ញាគឺត្រឹមត្រូវ អ្នកអាចប្រើ "??-???" ខ្សែអក្សរជំនួសដើម្បីកំណត់អត្តសញ្ញាណពួកវា៖
=IF(COUNTIF(A2, "??-??"), "Valid", "")
របៀបដែលរូបមន្តនេះដំណើរការ៖
សម្រាប់ការធ្វើតេស្តឡូជីខលនៃ IF យើងប្រើមុខងារ COUNTIF ដែលរាប់ចំនួនក្រឡាដែលត្រូវគ្នានឹងតួអក្សរជំនួសដែលបានបញ្ជាក់ខ្សែអក្សរ។ ដោយសារជួរលក្ខណៈវិនិច្ឆ័យគឺជាក្រឡាតែមួយ (A2) លទ្ធផលគឺតែងតែ 1 (ការផ្គូផ្គងត្រូវបានរកឃើញ) ឬ 0 (រកមិនឃើញការផ្គូផ្គងទេ)។ ដោយសារ 1 ស្មើនឹង TRUE និង 0 ទៅ FALSE រូបមន្តនឹងត្រឡប់ "ត្រឹមត្រូវ" (value_if_true) នៅពេលដែលចំនួនរាប់គឺ 1 និងខ្សែអក្សរទទេ (value_if_false) នៅពេលចំនួនគឺ 0។
IF ISNUMBER SEARCH រូបមន្តសម្រាប់ផ្នែក ផ្គូផ្គង
វិធីមួយផ្សេងទៀតដើម្បីបង្ខំ Excel IF ឱ្យដំណើរការសម្រាប់ការផ្គូផ្គងអត្ថបទដោយផ្នែកគឺត្រូវបញ្ចូលមុខងារ FIND ឬ SEARCH នៅក្នុងការធ្វើតេស្តឡូជីខល។ ភាពខុសគ្នានោះគឺថា FIND គឺប្រកាន់អក្សរតូចធំ ខណៈពេលដែល SEARCH មិនមែន។
ដូច្នេះ អាស្រ័យលើថាតើអ្នកចង់ចាត់ទុកអក្សរតូច និងអក្សរធំជាតួអក្សរដូចគ្នា ឬខុសគ្នា រូបមន្តមួយក្នុងចំណោមរូបមន្តទាំងនេះនឹងដំណើរការ៖<3 រូបមន្ត
Case-insensitive សម្រាប់ការផ្គូផ្គងផ្នែក៖
IF(ISNUMBER(SEARCH(" text ", cell )), value_if_true, value_if_false )រូបមន្តដែលប្រកាន់អក្សរតូចធំ សម្រាប់ការផ្គូផ្គងដោយផ្នែក៖
IF(ISNUMBER(FIND(" text ", ក្រឡា )), value_if_true, value_if_false )ដោយសារមុខងារទាំងពីរត្រូវបានរចនាឡើងដើម្បីអនុវត្តប្រភេទ "ក្រឡាមាន" ការផ្គូផ្គង អក្សរជំនួសពិតជាមិនចាំបាច់ក្នុងករណីនេះទេ។
ឧទាហរណ៍ ដើម្បីស្វែងរកលេខសម្គាល់ដែលមានអក្សរ "A" ឬ "a" រូបមន្តគឺ៖
=IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")
ដើម្បីស្វែងរកតែអក្សរធំ "A" ហើយមិនអើពើ "a" នោះរូបមន្តគឺ៖
=IF(ISNUMBER(FIND("A", A2)), "Yes", "No")
នៅក្នុង B6 នៅក្នុងរូបថតអេក្រង់ខាងក្រោម អ្នកអាចសង្កេតមើលភាពខុសគ្នានៃលទ្ធផល៖
របៀបដែលរូបមន្តនេះដំណើរការ៖
នៅ បេះដូងនៃរូបមន្តមានការរួមបញ្ចូលគ្នានៃ ISNUMBER និង SEARCH (ឬ FIND):
ISNUMBER(SEARCH("A", A2))
មុខងារ SEARCH ស្វែងរកអត្ថបទដែលបានបញ្ជាក់ ("A" ក្នុងឧទាហរណ៍នេះ) ហើយត្រឡប់ទីតាំងរបស់វានៅក្នុង ខ្សែអក្សរ A2 ។ ប្រសិនបើរកមិនឃើញអត្ថបទ នោះកំហុស #VALUE ត្រូវបានត្រឡប់មកវិញ។ ដោយសារទាំង SEARCH និង FIND ត្រូវបានរចនាឡើងដើម្បីអនុវត្តប្រភេទ "ក្រឡាមាន" ការផ្គូផ្គង អក្សរជំនួសពិតជាមិនត្រូវការក្នុងករណីនេះទេ។
មុខងារ ISNUMBER បំប្លែងលេខទៅជា TRUE និងតម្លៃផ្សេងទៀតរួមទាំងកំហុសទៅជា FALSE . តម្លៃតក្កវិជ្ជាទៅដោយផ្ទាល់ទៅនឹងការធ្វើតេស្តឡូជីខលនៃ IF ។ ក្នុងករណីរបស់យើង A2 មាន "A" ដូច្នេះ ISNUMBER ត្រឡប់ TRUE:
IF(TRUE, "Yes", "No")
ជាលទ្ធផល IF ត្រឡប់តម្លៃដែលបានកំណត់សម្រាប់អាគុយម៉ង់ value_if_true ដែលជា "បាទ/ចាស" ក្នុងករណីនេះ អ្នកអាចបញ្ចូលគ្នានូវសេចក្តីថ្លែងការណ៍ IF OR បុរាណជាមួយនឹងរូបមន្តស្វែងរក COUNTIF ឬ ISNUMBER ដែលបានពិភាក្សាខាងលើ។
ឧទាហរណ៍ ដើម្បីស្វែងរក "aa" OR "bb" នៅក្នុង A2 ដោយមិនអើពើករណីអក្សរ ហើយត្រឡប់ " បាទ/ចាស" ប្រសិនបើរកឃើញទាំងពីរ ប្រើរូបមន្តមួយក្នុងចំណោមរូបមន្តទាំងនេះ៖
=IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")
ឬ
=IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")
ការបន្ថែមមុខងារ COUNTIF ពីរក៏នឹងដំណើរការផងដែរ។ ក្នុងករណីនេះ សញ្ញាបូកដំណើរការដូចប្រតិបត្តិករ OR៖
=IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")
ជំនួសឱ្យការសរសេរអក្សរជំនួសរឹងនៅក្នុងរូបមន្ត អ្នកអាចបញ្ចូលពួកវាក្នុងក្រឡាដាច់ដោយឡែកដោយនិយាយថា D2 និង F2 ដូចដែលបានបង្ហាញ នៅក្នុងរូបថតអេក្រង់ខាងក្រោម។ សូមចំណាំថាទាំងនេះសេចក្តីយោងក្រឡាត្រូវបានចាក់សោដោយសញ្ញា $ ដូច្នេះរូបមន្តចម្លងបានត្រឹមត្រូវទៅក្រឡាខាងក្រោម៖
=IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")
រូបមន្តខាងលើដំណើរការល្អសម្រាប់ការផ្គូផ្គង 2 ផ្នែក ប៉ុន្តែប្រសិនបើអ្នកកំពុងស្វែងរក 3 ឬច្រើនជាងនេះ ពួកវានឹងវែងពេក។ ក្នុងករណីនេះ វាមានហេតុផលដើម្បីចូលទៅជិតកិច្ចការខុសគ្នា៖
ផ្គត់ផ្គង់ substrings ជាច្រើនទៅមុខងារ SEARCH ក្នុងអារេថេរ រាប់លេខដែលបានត្រឡប់មកវិញ ហើយពិនិត្យមើលថាតើលទ្ធផលគឺធំជាងសូន្យ (ដែលមានន័យថា យ៉ាងហោចណាស់ខ្សែអក្សររងមួយប្រសិនបើរកឃើញ):
=IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")
វិធីនេះ អ្នកនឹងទទួលបានលទ្ធផលដូចគ្នាជាមួយនឹងរូបមន្តបង្រួមបន្ថែមទៀត៖
រូបមន្ត Excel IF AND ជាមួយតួអក្សរជំនួស
នៅពេលដែលអ្នកចង់ពិនិត្យមើលថាតើក្រឡាមួយមានខ្សែអក្សររងពីរ ឬច្រើនផ្សេងគ្នានោះ វិធីងាយស្រួលបំផុតគឺត្រូវប្រើមុខងារ COUNTIFS ដែលមានអក្សរជំនួសសម្រាប់ការធ្វើតេស្តឡូជីខល។
ឧបមាថាអ្នកចង់កំណត់ទីតាំងក្រឡាក្នុងជួរ A ដែលមានទាំង "b" និង "2"។ ដើម្បីសម្រេចបាន សូមប្រើ "*b*" និង "*2*" សម្រាប់លក្ខណៈវិនិច្ឆ័យរបស់ COUNTIFS និង A2 សម្រាប់ជួរលក្ខណៈវិនិច្ឆ័យ៖
=IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")
វិធីមួយផ្សេងទៀតគឺត្រូវប្រើរូបមន្ត IF AND ជាមួយគ្នា ជាមួយ ISNUMBER SEARCH៖
=IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")
ទោះបីជាយើងមិនរួមបញ្ចូលតួអក្សរជំនួសណាមួយនៅក្នុងរូបមន្តនេះក៏ដោយ វាដំណើរការដូចជាការស្វែងរកខ្សែអក្សរជំនួសពីរ ("*b*" និង "*2*" ) ក្នុងក្រឡាតែមួយ។
ជាការពិតណាស់ គ្មានអ្វីរារាំងអ្នកពីការបញ្ចូលតម្លៃស្វែងរកក្នុងក្រឡាដែលបានកំណត់ជាមុន D2 និង F2 ក្នុងករណីរបស់យើង និងការផ្គត់ផ្គង់ក្រឡាយោងទៅរូបមន្ត៖
=IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")
ប្រសិនបើអ្នកចូលចិត្តប្រើរូបមន្តបង្រួមកាន់តែច្រើនតាមដែលអាចធ្វើទៅបាន នោះអ្នកប្រហែលជាចូលចិត្តវិធីសាស្ត្រថេរអារេជាង។ រូបមន្ត IF COUNT SEARCH មានច្រើនដូចក្នុងឧទាហរណ៍មុន ប៉ុន្តែដោយសារលើកនេះ ខ្សែអក្សររងទាំងពីរត្រូវតែបង្ហាញក្នុង A2 យើងពិនិត្យមើលថាតើចំនួនស្មើនឹង 2៖
=IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")
ទាំងនេះគឺជាវិធីសាស្រ្តសំខាន់ៗក្នុងការប្រើអក្សរជំនួសក្នុងសេចក្តីថ្លែងការណ៍ IF នៅក្នុង Excel ។ ប្រសិនបើអ្នកដឹងពីដំណោះស្រាយផ្សេងទៀត អ្នកប្រើប្រាស់ផ្សេងទៀតប្រាកដជាពេញចិត្ត ប្រសិនបើអ្នកចែករំលែកបទពិសោធន៍របស់អ្នកនៅក្នុងមតិយោបល់។ ខ្ញុំសូមអរគុណចំពោះការអាន ហើយសង្ឃឹមថានឹងបានជួបអ្នកនៅលើប្លក់របស់យើងនៅសប្តាហ៍ក្រោយ!
សៀវភៅលំហាត់សម្រាប់ការទាញយក
ឧទាហរណ៍រូបមន្តឧទាហរណ៍ Excel IF (ឯកសារ .xlsx)