Lại vấn đề cái hàm if đáng ghét chỉ lặp được 7 vòng (1 người xem)

Người dùng đang xem chủ đề này

thai_quan

Thành viên mới
Tham gia
21/5/14
Bài viết
5
Được thích
0
Em đính kèm file theo cho mấy bác xem giúp em với.

đơn giản như sau:

Tiền vận chuyển = đơn giá x số lượng

đơn giá thì tham khảo qua bảng đơn giá. Nếu lấy từ kho pk đi biên hòa thì đơn giá khác, từ kho cogido đi long thành chẳng hạn thì đơn giá khác,.... Lúc trước ít kho và ít địa điểm thì làm bằng hàm ì ok. Sau này phát sinh thêm hơn 7 địa điểm thì hàm if ko kham nổi. Em có tìm hiểu trên diễn dàn máy cái hàm choose và hàm lookup, vlook up gì gì đó mà em ngu đọc lòng vòng hoài mà hem hiểu.

Mong các bác giải thích và hướng dẫn cho em trong trường hợp cụ thể này nhé, em cám ơn.
 

File đính kèm

Em đính kèm file theo cho mấy bác xem giúp em với.

đơn giản như sau:

Tiền vận chuyển = đơn giá x số lượng

đơn giá thì tham khảo qua bảng đơn giá. Nếu lấy từ kho pk đi biên hòa thì đơn giá khác, từ kho cogido đi long thành chẳng hạn thì đơn giá khác,.... Lúc trước ít kho và ít địa điểm thì làm bằng hàm ì ok. Sau này phát sinh thêm hơn 7 địa điểm thì hàm if ko kham nổi. Em có tìm hiểu trên diễn dàn máy cái hàm choose và hàm lookup, vlook up gì gì đó mà em ngu đọc lòng vòng hoài mà hem hiểu.

Mong các bác giải thích và hướng dẫn cho em trong trường hợp cụ thể này nhé, em cám ơn.
Đây là công thức tính đơn giá cho hàng 8:
Mã:
=HLOOKUP(F8,$J$8:$K$19,MATCH(G8,$L$8:$L$19,0),0)
 
Em đính kèm file theo cho mấy bác xem giúp em với.

đơn giản như sau:

Tiền vận chuyển = đơn giá x số lượng

đơn giá thì tham khảo qua bảng đơn giá. Nếu lấy từ kho pk đi biên hòa thì đơn giá khác, từ kho cogido đi long thành chẳng hạn thì đơn giá khác,.... Lúc trước ít kho và ít địa điểm thì làm bằng hàm ì ok. Sau này phát sinh thêm hơn 7 địa điểm thì hàm if ko kham nổi. Em có tìm hiểu trên diễn dàn máy cái hàm choose và hàm lookup, vlook up gì gì đó mà em ngu đọc lòng vòng hoài mà hem hiểu.

Mong các bác giải thích và hướng dẫn cho em trong trường hợp cụ thể này nhé, em cám ơn.

vẫn giữ nguyên ý tưởng của bạn: sửa công thức cho gọn hơn là được:
Công thức cho H8
PHP:
=IF(F8="COGIDO(ĐT,PVOIL,18)",IF(COUNTIF(DS_NOIDEN,G8),E10*LOOKUP(G8,DS_NOIDEN,$K$9:$K$19),""))

P/s : Mình thấy Hàm If không đáng ghét như bạn nói , bạn thử tưởng tượng : Khi đang nói chuyện ,trong một câu bạn dùng đến 7 cụm từ "nếu .. thì " , mình chắc rằng người nghe sẽ nhàm chán và hơi khó chịu, Bill Gate cũng là con người mà !
 
thanks mấy bác đã tận tình giúp đở, các bác up code lên giải thích giúp em nhé, em chậm hiểu
 
Đổi qua phiên bản 2007 trở lên thì được 63 (64?) lần IF's.
Có gì đâu mà đáng ghét. Các phiên bản cũ được đưa ra để sử dụng thời máy tính còn là Pentium 256M... Trình dịch cần cân bằng giữa hiệu suất tốc độ và phạm vi làm việc cho nên bắt buộc phải giới hạn số tầng IF's để giảm bộ nhớ ngăn xếp. Gặp mấy cái bảng tính phức tạp thì người sử dụng phải có trình độ thiết kế cho hiệu quả.
Bây giờ là thời đại core kiết vài GIG, các phiên bản mới của Office mới có thể tăng trưởng theo. Người sử dụng kém trình độ thì có thể dựa trên sức mạnh của máy và phần mềm để thiết kế dỏm mà vẫn hoạt động được.

Tóm lại, nếu bạn khôg thể hoặc không đủ sức thiết kế lại cách làm để giảm số IF's dưới 7 thì cài phiên bản 2013 cho xong việc.
 
Mình hướng dẫn bạn làm bảng tra nè:

Em có tìm hiểu trên diễn dàn máy cái hàm choose và hàm lookup, vlook up gì gì đó mà em ngu đọc lòng vòng hoài mà hem hiểu.

Cái bảng tra đó được sửa từ bảng của bạn, như sau:

| J | K | L |
8 |Địa điểm|PK|COGIDO(...)|
9 |TP|154|120|
10 |BH|63|31|
|...|@#!^%||

& nhớ gán cho chiếc bảng thân thương này của bạn cái tên triều mến, như 'BTra'

Tại [H8] ta áp công thức tính cự li như sau:
=VLOOKUP(G8,BTra,IF(F8="PK",2,3),FALSE)
 

Bài viết mới nhất

Back
Top Bottom