Xác định tên nhà mạng dựa vào đầu số điện thoại

Liên hệ QC

lala_qn

Thành viên tiêu biểu
Tham gia
2/5/09
Bài viết
598
Được thích
17
Nghề nghiệp
chưa ổn định
trong file cột A2 là dữ liệu B2 là kết quả
làm thế nào đê nó nhận dạng
93,90 là Mobi
91,94 là Vina
96,98 là Viettel
thanks all !
 

File đính kèm

  • vd.xls
    18.5 KB · Đọc: 55
Hàm IF
Giả sử A1 chứa 1 trong các số
93,90
91,94
96,98

=if(and(A1=93,
A1=90),"Mobi", if(and(A1=91,A1=94),"Vina",if(and(A1=96,A1=98),"Viettel","Không biết")))

Có thể dùng Vlookup nếu tạo ra bảng chọn.
 
Hàm IF
...
=if(
and(A1=93,A1=90),"Mobi", if(and(A1=91,A1=94),"Vina",if(and(A1=96,A1=98),"Viettel","Không biết")))

...

AND như thế này không bao giờ ra True cả. A1 không thể vừa bằng 93 vừa bằng 90.
(theo luật toán, quan hệ "VÀ" có tính chất quy nạp trên toán tử =, nếu a = b và a = c thì b = c)

Phải dùng hàm OR mới được
 
Hàm IF
Giả sử A1 chứa 1 trong các số
93,90
91,94
96,98

=if(and(A1=93,
A1=90),"Mobi", if(and(A1=91,A1=94),"Vina",if(and(A1=96,A1=98),"Viettel","Không biết")))

Có thể dùng Vlookup nếu tạo ra bảng chọn.

làm như cách của bạn thì kết quả sẽ không chính xác.
Lí do điều kiện hàm AND sai.
 
hàm có cách nào viết đơn giản hơn ko anh ?
Đơn giản hơn thì không chắc, nhưng mà ngắn gọn hơn thì đây là một tham khảo:
Mã:
[B2]=LOOKUP(LEFT(A2,2)*1,{90,91,93,94,96,98},{"Mobi","Vina","Mobi","Vina","Viettel","Viettel"})
Hoặc nếu bạn lập bảng dò thì có thể sử dụng VLOOKUP, HLOOKUP sẽ ngắn hơn được một chút nữa.
 
nhỡ có thêm có thêm đầu 11 số nữa liệu có cách giải quyết trong 1 hàm ko anh ?
90,93,120,121,122,126,128 Mobi
91,94,123,124,125,127,129 Vina
96,97,98,16 Viettel
 
Đơn giản hơn thì không chắc, nhưng mà ngắn gọn hơn thì đây là một tham khảo:
Mã:
[B2]=LOOKUP(LEFT(A2,2)*1,{90,91,93,94,96,98},{"Mobi","Vina","Mobi","Vina","Viettel","Viettel"})
Hoặc nếu bạn lập bảng dò thì có thể sử dụng VLOOKUP, HLOOKUP sẽ ngắn hơn được một chút nữa.
Mình thấy kiểu này có thể không ổn chú Phúc ạ, thí dụ nhập nhầm số 95........., 92........v..v nó vẫn nhận kết quả chứ không báo lỗi
Một cách viết:
=INDEX({"Mobi","Mobi","Vina","Vina","Viettel","Viettel"},MATCH(--LEFT(A2,2),{93,90,91,94,96,98},0))
Hoặc
=VLOOKUP(--LEFT(A2,2),{93,"Mobi";90,"Mobi";91,"Vina";94,"Vina";96,"Viettel";98,"Viettel"},2,0)
Thân
Híc
 
Lần chỉnh sửa cuối:
nhỡ có thêm có thêm đầu 11 số nữa liệu có cách giải quyết trong 1 hàm ko anh ?
90,93,120,121,122,126,128 Mobi
91,94,123,124,125,127,129 Vina
96,97,98,16 Viettel
trong câu hỏi có thêm tí yêu cầu nên có khác tí anh, anh sữa lại giúp em nhé
thanks anh !!!
 
trong câu hỏi có thêm tí yêu cầu nên có khác tí anh, anh sữa lại giúp em nhé
thanks anh !!!

Thì lấy mấy cái hàm ra, nhét thêm dữ liệu tra vào.
Một chút xíu cũng phải nhờ nữa sao?

Cứ thử đi, nếu không ra thì đem lên đây sẽ có người chỉ cho chỗ sai.
 
vd hàm này ko biết sai chổ nào nhờ a/c chỉ dùm e nhé
=LOOKUP((LEFT(A2,2)*1,{90,91,93,94,96,98},{"Mobi","Vina","Mobi","Vina","Viettel","Viettel"}),(LEFT(A2,3)*1,{120,121,122,123,124,125},{"Mobi","Mobi","Mobi","Vina","Vina","Vina"}))
thanks
 
vd hàm này ko biết sai chổ nào nhờ a/c chỉ dùm e nhé
=LOOKUP((LEFT(A2,2)*1,{90,91,93,94,96,98},{"Mobi","Vina","Mobi","Vina","Viettel","Viettel"}),(LEFT(A2,3)*1,{120,121,122,123,124,125},{"Mobi","Mobi","Mobi","Vina","Vina","Vina"}))
thanks

Nếu hàm bị lỗi thì chép lại câu báo lỗi

Nếu hàm chạy ra sai thì cho biết trường hợp sai (dữ liệu đàu vao, kết quả dự kiến, kết quả nhận được...)

Không có đầy đủ chi tiết, tôi lười mò giùm lắm

=== bổ xung 10:30am ===

Gợi ý giải quyết vấn đề bằng cách khai triển thêm công thức của concogia

1. Cứ việc cho thêm các số 120,121,... vào mảng và dùng hàm IF để chọn 2 hoặc 3 lý tự đầu
--LEFT(A2,IF(LEFT(A2,1)="1",3,2))

2. 1. Cứ việc cho thêm các số 120,121,... vào mảng và dùng wildcard để vlookup 3 ký tự đầu "90?", "93?", ...
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom