Rút gọn bớt đối số hàm if hoặc sử dụng công thức khác khi có quá nhiều điều kiện

Liên hệ QC

quoc_huy1702

Thành viên hoạt động
Tham gia
9/6/11
Bài viết
132
Được thích
20
Nghề nghiệp
NVVP
Thân chào mọi người
Mình đang phân loại qui cách bao bì từ 1 cột chứa dữ liệu thô
Do dữ liệu thô chưa chuẩn hóa nên thường có dạng như sau
"xxx1tấn/baoxx","xxxtịnh 50 kg/baoxx" , "xxx50kgxxx", "xx50kg/túixx", "xxxđóng xáxx","xx25kgxx",..........

Do vậy mình gom nhóm như sau
nhóm qui cách 1000 - "xxx1tấn/baoxx"
nhóm qui cách 50 - "tịnh 50 kg/bao" , "50kg", "50kg/ túi", " đóng xá",....
nhóm qui cách 25 - "25kg", "25 kg",,...
.......................

Mình sử dụng hàm IF và kết hợp isnumber và Search để gom nhóm bên cột Qui cách

Nhưng đối số hàm if bị giới hạn, có lúc bị maximum luôn; khi đó sẽ bị sót trường hợp
Vậy có cách dùng hàm khác không?
Hoặc phương pháp nào khác không?
 

File đính kèm

  • ANOTHER FUNCTION.xlsx
    14 KB · Đọc: 21
Thân chào mọi người
Mình đang phân loại qui cách bao bì từ 1 cột chứa dữ liệu thô
Do dữ liệu thô chưa chuẩn hóa nên thường có dạng như sau
"xxx1tấn/baoxx","xxxtịnh 50 kg/baoxx" , "xxx50kgxxx", "xx50kg/túixx", "xxxđóng xáxx","xx25kgxx",..........

Do vậy mình gom nhóm như sau
nhóm qui cách 1000 - "xxx1tấn/baoxx"
nhóm qui cách 50 - "tịnh 50 kg/bao" , "50kg", "50kg/ túi", " đóng xá",....
nhóm qui cách 25 - "25kg", "25 kg",,...
.......................

Mình sử dụng hàm IF và kết hợp isnumber và Search để gom nhóm bên cột Qui cách

Nhưng đối số hàm if bị giới hạn, có lúc bị maximum luôn; khi đó sẽ bị sót trường hợp
Vậy có cách dùng hàm khác không?
Hoặc phương pháp nào khác không?
dùng công thức này cho D3
=IFERROR(IF(SEARCH("1tấn",E3)>1,1000,0),IF(ISERROR(MID(E3,SEARCH("KG",E3)-2,2)),50,MAX(IFERROR(MID(E3,SEARCH("KG",E3)-2,2),0),IFERROR(MID(E3,SEARCH("50",E3),2),0))))
 
Cám ơn bạn Lê Duy Thương đã giúp đỡ
Công thức ngắn gọn hơn và excel cũng chạy nhanh hơn

Nhưng do dữ liệu ban đầu mình đưa lên chưa đầy đủ nên khi kiểm tra lại có 1 số dòng chưa đúng
Nhờ mọi người giúp thêm

Cụ thể với công thức bạn Thương đưa ở trên

Dòng 341 xuất hiện lỗi Value
Dòng 9230 cần thêm điều kiện vì công thức hiểu nhầm, Dòng đó qui cách đúng là 2 kg

Bổ sung
1 số dòng bên cột G sẽ có ký tự "LBS" ( đơn vị Pound --> qui ra kg) ví dụ 20LBS = 8.7kg > qui ra bao 10 kg luôn

Mình úp lại dữ liệu đầy đủ.
http://www.mediafire.com/download/fj24ig4it4bi4jd/ANOTHER_FUNCTION_updateD.xlsx
 
Lần chỉnh sửa cuối:
'Gạo thơm 4% tấm (925bao, 22,68 kgs/bao/bao, 22,68 kgs/bao=22.68KG) bao màu đỏ là bao gì ?
'Gạo thơm 5% tấm 4kg/bao 5kg/túi ==> bao và túi khác nhau chỗ nào ?
 
'Gạo thơm 4% tấm (925bao, 22,68 kgs/bao/bao, 22,68 kgs/bao=22.68KG) bao màu đỏ là bao gì ?
'Gạo thơm 5% tấm 4kg/bao 5kg/túi ==> bao và túi khác nhau chỗ nào ?
**~** chữ bao màu đỏ thì dữ liệu gốc nó đã có.
Bao với túi thì về mặt ý nghĩa nó như nhau,

Dữ liệu này nếu nhìn góc độ làm database thì còn nhiều chỗ phải nói vì có nhiều thứ ko có theo quy cũ gì cả, phân loại lại cực ơi là cực luôn.

Về bao và túi chắc phải dùng excel replace bao thành túi hết

Bật mí , Database mình nhận, chỗ đơn vị tính cũng có chỗ khác mắc cười là "bao" "bịch", "gói", "kg, "tấn",...
 
**~** chữ bao màu đỏ thì dữ liệu gốc nó đã có.
Bao với túi thì về mặt ý nghĩa nó như nhau,

Dữ liệu này nếu nhìn góc độ làm database thì còn nhiều chỗ phải nói vì có nhiều thứ ko có theo quy cũ gì cả, phân loại lại cực ơi là cực luôn.

Về bao và túi chắc phải dùng excel replace bao thành túi hết

Bật mí , Database mình nhận, chỗ đơn vị tính cũng có chỗ khác mắc cười là "bao" "bịch", "gói", "kg, "tấn",...
đối với loại dữ liệu như thé này có thể tới 12 if chưa chắc ok. chắc nhờ các bạn dùng vba xem có khả quan không. tôi đang hoc vờ bê a được 1 ngày nên chư biết viết cho bài này. ẹc ẹc
 
Web KT
Back
Top Bottom