สารบัญ
ในบทช่วยสอนนี้ ฉันจะเขียนวิธี ค้นหาข้อความ ใน ช่วงของ Excel และ คืนค่าการอ้างอิงของเซลล์ที่เก็บข้อความ นอกจากนี้ฉันจะแสดงหลายวิธีในการดำเนินการดังกล่าว เพื่อให้ความต้องการของคุณอาจตรงกับวิธีใดก็ได้
แต่ก่อนที่จะเข้าสู่การสนทนาหลัก ฉันต้องการพูดคุยเล็กน้อยเกี่ยวกับฟังก์ชันที่ฉันจะใช้
ดาวน์โหลด ไฟล์การทำงาน
นี่คือไฟล์ Excel ที่ฉันใช้สร้างบทช่วยสอนนี้ ดาวน์โหลดและติดตามไปพร้อมกับฉัน
การค้นหาข้อความในช่วงและการอ้างอิงเซลล์ที่ส่งคืน.xlsx
การสนทนาเกี่ยวกับข้อกำหนดเบื้องต้น
ส่วนนี้ เป็นทางเลือกสำหรับผู้ที่ใช้ฟังก์ชัน Excel ต่อไปนี้อย่างหนัก:
- INDEX()
- MATCH()
- CELL()
- และ OFFSET()
# ฟังก์ชัน INDEX ใน Excel
ฟังก์ชัน INDEX ส่งกลับค่าหรือการอ้างอิงของเซลล์ที่จุดตัดของแถวและคอลัมน์เฉพาะในช่วงที่กำหนด
ไวยากรณ์ของฟังก์ชัน INDEX :
INDEX(array, row_num, [column_num])
INDEX(reference, row_num, [column_num], [area_num])
ดูภาพด้านล่าง :
คำอธิบายของสูตร
ตัวอย่างที่ 1:
คุณอาจพบว่า ตัวอย่างที่ 1 (และตัวอย่างที่ 2) เข้าใจยากขึ้นเล็กน้อย นี่คือ สูตรอาร์เรย์ของ Excel .
- ก่อนอื่น เลือกเซลล์ C16 จากนั้นจดสิ่งต่อไปนี้สูตร
{=INDEX(B4:D9,2,)}
- จากนั้นฉันก็กด CTRL+SHIFT+ENTER เพื่อป้อนสูตรอาร์เรย์
สูตรนี้ใช้งานจริงได้อย่างไร
- นี่คือส่วนอาร์เรย์ของ <1 ฟังก์ชัน>INDEX คือ B4:D9 แถว ที่ 2 คือแถว B5:D5
- เนื่องจากหมายเลขคอลัมน์ว่างเปล่า ฟังก์ชัน INDEX จะคืนค่าทั้งหมด แถวที่ 2
ตัวอย่างที่ 2
{=INDEX((B4:D9,F4:H9),2,,2)}
- เนื่องจากการอ้างอิงฟังก์ชัน INDEX มีช่วง สอง ช่วงที่นี่: B4:D9 และ F4:H9
- หมายเลขแถวคือ 2 ไม่ได้ระบุหมายเลขคอลัมน์ ดังนั้น ค่าทั้งหมดของแถว ที่ 2 จะถูกส่งกลับ
- ฟังก์ชันดัชนีใช้ช่วง F4:H9 เนื่องจากหมายเลขพื้นที่คือ 2.
ตัวอย่างที่ 3
=INDEX(B4:B9,3,)
ง่ายมากๆ<สูตร 1> INDEX ค่า ที่ 3 ของอาร์เรย์ B4:B9 จะถูกส่งกลับโดยสูตรนี้
ตัวอย่างที่ 4
=INDEX(B4:D9,2,3)
สูตรนี้ส่งคืนค่าจุดตัดกัน 2 แถวและ 3 คอลัมน์ของช่วง B4:D9 .
# ฟังก์ชัน MATCH ใน Excel
ฟังก์ชัน MATCH ส่งกลับตำแหน่งของค่าในอาร์เรย์ของค่า
ไวยากรณ์ของฟังก์ชัน MATCH:<2
=MATCH(lookup_value, lookup_array, [match_type])
- ตอนนี้ จดสูตรต่อไปนี้ในช่อง C17
=MATCH(C14,B4:B9,0)
สูตรนี้ทำงานอย่างไร
- เดอะค่าของเซลล์ C14 คือ Google ดังนั้น ค่าการค้นหาของเราคือ Google
- ในช่วงเซลล์ B4:B9 ตำแหน่งของ Google คือ 6th
- ดังนั้น สูตรจะส่งกลับ 6.
# ฟังก์ชันเซลล์ใน Excel
ฟังก์ชันเซลล์ ส่งคืนข้อมูลเกี่ยวกับการจัดรูปแบบ ตำแหน่งหรือเนื้อหาของเซลล์แรกตามลำดับการอ่านของชีตในการอ้างอิง
ไวยากรณ์ของ Excel CELL Function
=CELL(info_type, [reference])
เมื่อใช้ฟังก์ชัน CELL คุณจะได้รับรายละเอียดมากมายเกี่ยวกับการอ้างอิงเซลล์ รวมถึงที่อยู่ ABSOLUTE คุณสามารถดูได้จากภาพด้านบน
# ฟังก์ชัน OFFSET ใน Excel
ฟังก์ชัน OFFSET ของ Excel ส่งกลับการอ้างอิงไปยังช่วงที่เป็นจำนวนแถวและคอลัมน์ที่กำหนด จากการอ้างอิงที่กำหนด
ไวยากรณ์ของฟังก์ชัน OFFSET:
=OFFSET(reference, rows, cols, [height], [width])
- ที่นี่ ฉันใช้สูตรต่อไปนี้ในช่อง B13
=SUM(OFFSET(B4,3,1,3,2))
สูตรนี้ทำงานอย่างไร
- การอ้างอิงของฟังก์ชัน OFFSET คือการอ้างอิงเซลล์ B4 ดังนั้น ตำแหน่งของเซลล์ B4 คือ 0 .
- จากนั้น 3 แถวลงจากการอ้างอิง
- จากนั้น 1 คอลัมน์ด้านขวาจากตำแหน่งสุดท้าย
- สุดท้าย ผลรวมของช่วง C7:D9 (ความสูง 3 แถวและความกว้าง 2 คอลัมน์) ซึ่งจะส่งคืนค่า 756 ช่วง C7:D9 ถูกเน้นที่มีเส้นขอบสีส้ม
ดังนั้น การสนทนาที่จำเป็นเบื้องต้นจึงสิ้นสุดลงแล้ว
ตอนนี้ เรามาเข้าสู่การสนทนาหลักของเรากันเถอะ
3 วิธีการค้นหา ข้อความในช่วงของ Excel และส่งกลับการอ้างอิงเซลล์
ในส่วนนี้ ฉันจะอธิบายวิธีการค้นหาข้อความในช่วงและส่งกลับการอ้างอิงเซลล์ใน Excel นอกจากนี้ เพื่อความเข้าใจที่ดีขึ้น ฉันจะใช้ชุดข้อมูลต่อไปนี้
วิธีที่ 1: การใช้ INDEX & จับคู่ฟังก์ชันเพื่อค้นหาข้อความในช่วงและส่งกลับการอ้างอิงเซลล์
ในวิธีนี้ ฉันจะค้นหาข้อความในคอลัมน์เดียว และถ้าพบ สูตรจะส่งกลับการอ้างอิง นอกจากนี้ ฉันจะใช้ฟังก์ชัน INDEX และ MATCH เพื่อค้นหาข้อความในช่วงและส่งกลับการอ้างอิงเซลล์
ขั้นตอน:
- ประการแรก เลือกเซลล์อื่น D17 ที่คุณต้องการเก็บผลลัพธ์ไว้
- ประการที่สอง จดสูตรต่อไปนี้ลงในเซลล์ D17
=CELL("address",INDEX(B4:B14,MATCH(D16,B4:B14,0)))
- จากนั้น กด ENTER เพื่อรับผลลัพธ์
สุดท้าย คุณจะได้รับการอ้างอิงเซลล์สำหรับข้อความ “ Dropbox ”
วิธีนี้ทำอย่างไร สูตรทำงานหรือไม่
ให้ฉันอธิบายสูตรสำหรับข้อความ “Dropbox” :
- ส่วนนี้ของสูตร MATCH(D16,B4:B14,0) ส่งกลับค่า 9 เนื่องจากตำแหน่งของ Dropbox ในอาร์เรย์ B4:B14 คือ 9th ดังนั้นสูตรโดยรวมกลายเป็น:
=CELL(“ที่อยู่”,INDEX(B4:B14,9))
- ตอนนี้ ส่วน INDEX(B4:B14,9) อ้างถึงการอ้างอิงเซลล์ B12 ดังนั้น สูตรจะกลายเป็น: =CELL(“address”,B12)
- จากนั้น =CELL(“address”,B12) คืนค่าการอ้างอิงสัมบูรณ์ของเซลล์ B12 .
- ดังนั้น ฉันจึงได้รับ $B$12 เป็นผลลัพธ์ของสูตรทั้งหมด
หมายเหตุ: INDEX(B4:B14,9) สามารถส่งกลับค่าหรือการอ้างอิงเซลล์ นี่คือความสวยงามของฟังก์ชัน INDEX
อ่านเพิ่มเติม: เซลล์อ้างอิง Excel ในชีตอื่นแบบไดนามิก
การอ่านที่คล้ายกัน <2
- วิธีใช้ฟังก์ชัน INDIRECT ใน Excel (12 ตัวอย่างที่เหมาะสม)
- หากเซลล์มีข้อความเฉพาะ ให้เพิ่ม 1 ใน Excel (5 ตัวอย่าง )
- วิธีใช้ฟังก์ชัน ROW ใน Excel (พร้อม 8 ตัวอย่าง)
- หากเซลล์มีข้อความ ให้เพิ่มข้อความในอีกเซลล์ใน Excel
- วิธีใช้ฟังก์ชัน COLUMNS ใน Excel (3 ตัวอย่าง)
วิธีที่ 2: การใช้ INDEX, MATCH & ฟังก์ชัน OFFSET
ในวิธีนี้ ฉันสามารถค้นหาข้อความจากมากกว่าหนึ่งคอลัมน์ แต่คุณต้องเลือกคอลัมน์เอง นอกจากนี้ ฉันจะใช้ฟังก์ชัน INDEX, OFFSET, และ MATCH เพื่อค้นหาข้อความในช่วงและส่งกลับการอ้างอิงเซลล์
ขั้นตอน:
- ประการแรก จดสูตรต่อไปนี้ใน D18 เซลล์
=CELL("address",INDEX(OFFSET(B4,0,D17-1,11,1), MATCH(D16,OFFSET(B4,0,D17-1,11,1),0)))
- ประการที่สอง กด ENTER เพื่อรับผลลัพธ์
สุดท้าย คุณจะได้รับการอ้างอิงเซลล์สำหรับข้อความ “ Mike Little ”
สูตรนี้ทำงานอย่างไร
- สูตรนี้ทำงานเหมือนกับสูตรข้างต้น ข้อแตกต่างเพียงอย่างเดียวคือ คอลัมน์จะถูกเลือกแบบไดนามิกโดยใช้ฟังก์ชัน OFFSET ของ Excel หากคุณเข้าใจฟังก์ชัน OFFSET ส่วนนี้จะเข้าใจง่าย: OFFSET(B4,0,D17-1,11,1)
อ่านเพิ่มเติม: ตัวอย่างของฟังก์ชัน OFFSET ใน Excel (สูตร+VBA )
วิธีที่ 3: การใช้ฟังก์ชันรวมเพื่อค้นหาข้อความในช่วงและส่งกลับการอ้างอิงเซลล์
บางครั้ง ค่าข้อความอาจซ้ำในช่วงมากกว่าหนึ่งครั้ง ฉันสามารถส่งคืนหมายเลขแถวของข้อความนั้นในช่วง ในที่นี้ ฉันจะใช้ฟังก์ชัน SMALL, ROW , และ IF เพื่อค้นหาข้อความในช่วงและส่งกลับการอ้างอิงเซลล์
คุณจะเห็นจาก รูปภาพต่อไปนี้ที่ข้อความ “Apple” กำลังทำซ้ำตัวเอง 3 ครั้งในช่วง B4:B14 .
<3
ให้ฉันแสดงให้คุณเห็นว่าฉันหาหมายเลขแถวเหล่านี้ได้อย่างไร
- ฉันใช้สูตรนี้ในเซลล์ D9 .
{=SMALL(IF($D$6=$B$4:$B$14,ROW($B$4:$B$14)-ROW($B$4)+1),ROW(1:1))}
- จากนั้นฉันก็คัดลอกสูตรนี้ลงในเซลล์ D10
=SMALL(IF($D$6=$B$4:$B$14,ROW($B$4:$B$14)-ROW($B$4)+1),ROW(2:2))
- ที่นี่ ฉันกด CTRL + SHIFT + ENTER เพื่อรับผลลัพธ์
- ผมก็ลอกสูตรมาจนได้สูตรส่งคืนค่าความผิดพลาด
เห็นได้ชัดว่าเป็นสูตรอาร์เรย์ของ Excel
แต่ก่อนอื่น คุณต้องทราบวิธีการ ฟังก์ชัน SMALL ทำงานใน Excel ได้
ไวยากรณ์ของฟังก์ชัน SMALL:
SMALL(array,k)
สำหรับ ตัวอย่างเช่น SMALL({80;35;55;900},2) จะคืนค่า ที่สอง ค่าที่น้อยที่สุดในอาร์เรย์ {80;35;55;900} . ผลลัพธ์จะเป็น: 55 .
สูตรทำงานอย่างไร
เซลล์ D9 = {=SMALL(IF($D$6=$B$4:$B$14,ROW($B$4:$B$14)-ROW($B$4)+1),ROW(1: 1))}
เพื่อให้เข้าใจสูตรอาร์เรย์นี้อย่างชัดเจน คุณสามารถอ่านคำแนะนำของฉัน: สูตรอาร์เรย์ของ Excel Basic 2 – รายละเอียดของสูตรอาร์เรย์
- ส่วนนี้ของสูตร IF($D$6=$B$4:$B$14,ROW($B$4:$B$14)-ROW($B$4)+1) จะส่งกลับจริง อาร์เรย์สำหรับฟังก์ชัน SMALL
- ส่วนการทดสอบเชิงตรรกะของ ฟังก์ชัน IF คือ: $D$6=$B$4:$B$14 ส่วนนี้จะทดสอบ (ทีละค่า) ว่าค่าของช่วง $B$4:$B$14 เท่ากับ $D$6 หรือไม่ ถ้าเท่ากัน ค่า TRUE จะถูกตั้งค่าในอาร์เรย์ และถ้าไม่เท่ากัน ค่า เท็จ จะถูกตั้งค่าในอาร์เรย์: {FALSE;FALSE;TRUE;FALSE;FALSE ;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE}
- และ value_if_true ส่วนคือ: ROW($B$4:$B$14)-ROW($ B$4)+1) . ส่วนทั้งหมดนี้ส่งคืนดังนี้: {1;2;3;4;5;6;7;8;9;10;11} – {1} + 1 = {0; 1;2;3;4;5;6;7;8;9;10} + 1 ={1;2;3;4;5;6;7;8;9;10;11}
- ROW(1:1) คือ k ของฟังก์ชัน SMALL และจะส่งกลับ 1 .
- ดังนั้น สูตรในเซลล์ D9 จะกลายเป็นดังนี้: SMALL(IF({FALSE;FALSE;TRUE;FALSE ;เท็จ;เท็จ;จริง;เท็จ;จริง;เท็จ;เท็จ},{1;2;3;4;5;6;7;8;9;10;11}),1).
- ตอนนี้ IF ฟังก์ชันจะคืนค่าอาร์เรย์นี้: {FALSE;FALSE;3;FALSE;FALSE;FALSE;7;FALSE;9;FALSE;FALSE}.
- สูตรจะกลายเป็น: SMALL({FALSE;FALSE;3;FALSE;FALSE;FALSE;7;FALSE;9;FALSE;FALSE},1).
- สุดท้าย สูตรส่งคืน 3.
ฉันหวังว่าคุณจะเข้าใจว่าสูตรที่ซับซ้อนนี้ทำงานอย่างไร
อ่านเพิ่มเติม: Excel หากเซลล์มีข้อความ ให้ส่งคืนค่า (8 วิธีง่ายๆ)
สรุป
ฉันหวังว่าบทความนี้จะเป็นประโยชน์สำหรับคุณ ที่นี่ ฉันได้อธิบาย 3 วิธีการที่เหมาะสมเพื่อทำความเข้าใจวิธีการ ค้นหาข้อความในช่วงและส่งกลับการอ้างอิงเซลล์ใน Excel คุณสามารถเยี่ยมชมเว็บไซต์ของเรา Exceldemy เพื่อเรียนรู้เนื้อหาเกี่ยวกับ Excel เพิ่มเติม โปรดแสดงความคิดเห็น คำแนะนำ หรือข้อสงสัยหากคุณมีในส่วนความคิดเห็นด้านล่าง