Hàm thay thể hàm IF

  • Thread starter Thread starter 790312
  • Ngày gửi Ngày gửi
Liên hệ QC

790312

Thành viên hoạt động
Tham gia
7/4/08
Bài viết
181
Được thích
8
Nhờ các bác xem giùm file đính kèm chỉ giúp e có hàm nào ngắn gọn hơn hàm if and không.Chân thành cảm ơn trước.
 

File đính kèm

Lập bảng dò đi bạn, sau đó dùng sumproduct
 

File đính kèm

Upvote 0
Bài này sao lại cho vào chuyên mục LẬP TRÌNH?
Công thức cho L20 là: =IF(J20="E1",20,25)*(RIGHT(K20)+1)
Nhờ bác chuyển vào mục lập trình giùm e,xin lỗi bác vì không nói rõ con số 2,3,4,5,6,7,8 là ví dụ chứ nó là 7 con số khác nhau không phải theo trình tự +1,thí dụ 2.15 rồi tới 3.48 tiếp 5.98 chẳng hạn.Thanks.
 
Upvote 0
Nhờ bác chuyển vào mục lập trình giùm e,xin lỗi bác vì không nói rõ con số 2,3,4,5,6,7,8 là ví dụ chứ nó là 7 con số khác nhau không phải theo trình tự +1,thí dụ 2.15 rồi tới 3.48 tiếp 5.98 chẳng hạn.Thanks.
Tóm lại là:
- Bạn muốn làm bài này bằng công thức hay lập trình? Nếu lập trình thì bạn muốn viết thành 1 hàm tự tạo chăng?
- Mấy số đó không theo trật tự, vậy cụ thế nó là những số gì?
Đưa chi tiết lên đây để khỏi mất công hỏi đi hỏi lại nhiều lần
 
Upvote 0
Nhờ bác chuyển vào mục lập trình giùm e,xin lỗi bác vì không nói rõ con số 2,3,4,5,6,7,8 là ví dụ chứ nó là 7 con số khác nhau không phải theo trình tự +1,thí dụ 2.15 rồi tới 3.48 tiếp 5.98 chẳng hạn.Thanks.
Hi Hi, như vậy nếu làm hàm thì chắc chắn phải lập bảng dò rồi
 
Upvote 0
Tóm lại là:
- Bạn muốn làm bài này bằng công thức hay lập trình? Nếu lập trình thì bạn muốn viết thành 1 hàm tự tạo chăng?
- Mấy số đó không theo trật tự, vậy cụ thế nó là những số gì?
Đưa chi tiết lên đây để khỏi mất công hỏi đi hỏi lại nhiều lần
Hàm tự tạo bác ạ.E gửi lại file có con số cụ thể bác xem giúp e.Cảm ơn bác nhiều.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Muốn có UDF thì có UDF đây, xin mời

PHP:
Option Explicit
Function ThayIF(EE As Range, FF As Range)
    ThayIF = IIf(EE = "E1", 20, 25) * _
        Switch(FF = "F1", 2.15, FF = "F2", 3.48, FF = "F3", 4, FF = "F4", 5.98, FF = "F5", 6, FF = "F6", 7, FF = "F7", 8)
End Function
 
Upvote 0
Công thức sau, cho ngắn gọn mà không cần bảng tra, L20:
=IF(J20="E1",20,25)*CHOOSE(RIGHT(K20)*1,2.19,2.74,3.29,3.84,4.39,4.94,5.48)
Hình dung xem nếu dữ liệu nó lớn hơn nhiều thì sẽ như thế nào? Nhiều khi ngay chính tác giả chưa hình dung hết đâu.
Theo tôi làm bảng dò là hợp lý nhất, vì nếu có dùng code mà không có quy luật của dãy số thì cũng chịu chết.
 
Upvote 0
Hàm tự tạo bác ạ.E gửi lại file có con số cụ thể bác xem giúp e.Cảm ơn bác nhiều.
Bài này mà dùng code thì hơi.. buồn cười chút. Công thức cũng được mà:
PHP:
=IF(J20="E1",20,25)*LOOKUP(K20,{"F1","F2","F3","F4","F5","F6","F7"},{2.19,2.74,3.29,3.84,4.39,4.94,5.48})
----------------------
Hình dung xem nếu dữ liệu nó lớn hơn nhiều thì sẽ như thế nào? Nhiều khi ngay chính tác giả chưa hình dung hết đâu.
Theo tôi làm bảng dò là hợp lý nhất, vì nếu có dùng code mà không có quy luật của dãy số thì cũng chịu chết.
Bảng dò cũng tốt nhưng tác giả hỏi sao thì ta trả lời vừa đủ ---> Hỏi mà không tổng quát thì... ráng chịu
 
Lần chỉnh sửa cuối:
Upvote 0
Hình dung xem nếu dữ liệu nó lớn hơn nhiều thì sẽ như thế nào? Nhiều khi ngay chính tác giả chưa hình dung hết đâu.
Theo tôi làm bảng dò là hợp lý nhất, vì nếu có dùng code mà không có quy luật của dãy số thì cũng chịu chết.

Thế nào là đủ, thậm trí bảng dò mà số lượng nhiều là cả vấn đề, tốt nhất cứ để người hỏi muốn gì thì dùng cái đó
 
Upvote 0
Thế nào là đủ, thậm trí bảng dò mà số lượng nhiều là cả vấn đề, tốt nhất cứ để người hỏi muốn gì thì dùng cái đó
Bạn nói vậy không đúng rồi
- Với bảng dò, ta muốn dài đến đâu cũng được (thích thì cứ thêm hoặc sửa)
- Với công thức gõ trực tiếp mà nếu dài quá giới hạn cho phép thì Excel nó đâu có chịu ---> Cứ thử hàm CHOOSE của bạn với trên 29 đối số xem nó báo lỗi không?
Ẹc... Ẹc...
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn nói vậy không đúng rồi
- Với bảng dò, ta muốn dài đến đâu cũng được (thích thì cứ thêm hoặc sửa)
- Với công thức gõ trực tiếp mà nếu dài quá giới hạn cho phép thì Excel nó đâu có chịu ---> Cứ thử hàm CHOOSE của bạn với trên 29 đối số xem nó báo lỗi không?
Ẹc... Ẹc...

Thế mới nói là không đủ ah

Cũng là bài toán này nhưng vế sau chia vế trước thì sửa làm sao vậy bác?Thanks.
thì bạn thay nhân bằng chia
=IF(J20="E1",20,25)/LOOKUP(K20,{"F1","F2","F3","F4","F5","F6","F7"},{2.19,2.74,3.29,3.84,4.39,4.94,5.48})
 
Upvote 0
Web KT

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

Back
Top Bottom