LEN, LEFT, RIGHT, MID
วัดความยาวด้วย LEN()
Section titled “วัดความยาวด้วย LEN()”LEN() นับจำนวนตัวอักษรใน cell:
=LEN("Hello") → 5=LEN("สวัสดี") → 6=LEN("Hello World") → 11 (นับ space ด้วย)=LEN("") → 0LEN vs LENB กับภาษาไทย
Section titled “LEN vs LENB กับภาษาไทย”| ฟังก์ชัน | นับอะไร | "สวัสดี" |
|---|---|---|
LEN() | จำนวนตัวอักษร | 6 |
LENB() | จำนวน bytes | 18 |
ภาษาไทยใช้ 3 bytes ต่อตัวอักษร (UTF-8) ดังนั้น:
=LEN("สวัสดี") → 6 (ตัวอักษร)=LENB("สวัสดี") → 18 (bytes = 6 × 3)#include <string.h>strlen("Hello"); // 5 (bytes, ไม่รวม null)strlen("สวัสดี"); // 18 (bytes, UTF-8)// C ไม่มี built-in นับ Unicode characterslen("Hello") # 5 (characters)len("สวัสดี") # 6 (characters)len("สวัสดี".encode('utf-8')) # 18 (bytes)SELECT LENGTH('Hello'); -- 5SELECT LENGTH('สวัสดี'); -- 6 (MySQL)SELECT OCTET_LENGTH('สวัสดี'); -- 18 (bytes)ตัดข้อความ: LEFT, RIGHT, MID
Section titled “ตัดข้อความ: LEFT, RIGHT, MID”| ฟังก์ชัน | ทำอะไร | ตัวอย่าง | ผลลัพธ์ |
|---|---|---|---|
LEFT(text, n) | ตัดจากซ้าย n ตัว | =LEFT("ABCDE", 3) | ABC |
RIGHT(text, n) | ตัดจากขวา n ตัว | =RIGHT("ABCDE", 2) | DE |
MID(text, start, n) | ตัดจากตำแหน่ง start | =MID("ABCDE", 2, 3) | BCD |
ตัวอย่างจริง: แยกรหัสนักศึกษา
Section titled “ตัวอย่างจริง: แยกรหัสนักศึกษา”รหัส 65010234 มีโครงสร้าง: ปีเข้า (2 หลัก) + คณะ (2 หลัก) + ลำดับ (4 หลัก)
=LEFT("65010234", 2) → "65" (ปีเข้า)=MID("65010234", 3, 2) → "01" (คณะ)=RIGHT("65010234", 4) → "0234" (ลำดับ)ค้นหาตำแหน่ง: FIND vs SEARCH
Section titled “ค้นหาตำแหน่ง: FIND vs SEARCH”| ฟังก์ชัน | Case-sensitive? | รองรับ Wildcard? |
|---|---|---|
FIND() | ใช่ | ไม่ |
SEARCH() | ไม่ | ใช่ (*, ?) |
=FIND("B", "ABCABC") → 2 (ตำแหน่งแรกที่เจอ)=FIND("b", "ABCABC") → #VALUE! (ไม่เจอ ต่างตัวเล็กตัวใหญ่)=SEARCH("b", "ABCABC") → 2 (เจอ ไม่สนตัวเล็กตัวใหญ่)เทคนิค: ตัดชื่อ-นามสกุลด้วย FIND + LEFT/MID
Section titled “เทคนิค: ตัดชื่อ-นามสกุลด้วย FIND + LEFT/MID”ถ้า A1 = "John Smith":
// หาตำแหน่ง space=FIND(" ", A1) → 5
// ตัดชื่อ (ก่อน space)=LEFT(A1, FIND(" ", A1) - 1) → "John"
// ตัดนามสกุล (หลัง space)=MID(A1, FIND(" ", A1) + 1, LEN(A1)) → "Smith"LEN()นับตัวอักษร,LENB()นับ bytes — สำคัญกับภาษาไทยLEFT/RIGHT/MIDตัดข้อความตามตำแหน่งFIND= case-sensitive,SEARCH= case-insensitive + wildcard- รวม FIND + LEFT/MID เพื่อแยกส่วนของข้อความได้