trungtuanthanh
Thành viên mới

- Tham gia
- 23/12/08
- Bài viết
- 15
- Được thích
- 3
Bác Springrain836 chỉ ra đúng rồi. Nhưng em không biết bác làm như thế nào cả. Bác chỉ chi tiết cho em được không?
Ặc. Phần list thứ 2 em làm nó toàn báo lỗi bác ah. Làm bên file bác gửi thì ko sao nhưng mang sang file em cần làm thì nó báo lỗi: "A name range you specified cannot be found". Em không hiểu sao cả.
Bác Springrain836 chỉ ra đúng rồi. Nhưng em không biết bác làm như thế nào cả. Bác chỉ chi tiết cho em được không?
Có nhiều cách để kéo hàm IF ra nhưng không VÔ TẬN được đâu ---> Dù là thay bằng VLOOKUP thì cũng có giới hạn chứHàm IF lồng vào nhau không thể nào đến N số lần logic được đâu bạn ơi!
Tối đa chỉ có thể dùng được 8 lần Logic ứng với 9 đáp số và ứng với N = 8 thôi.
Vậy nếu muốn vô tận thì bạn phải dùng cách khác thôi!
Ví dụ: =(Logic 1)*KQ1+(Logic 2)*KQ2+....+(Logic N)*KQN
Vậy thì sẽ được đó.
Vì 1 Logic = True tức là thỏa thì sẽ cho ra kết quả là 1. Và 1 nhân với KQ của Logic đó sẽ ra đáp số của Logic cần tìm.
Vậy bạn cứ thử nghiệm với các logic của bạn xem rồi đối chiếu sẽ thấy cách này là cách hữu dụng nhất nhưng đôi khi cũng hơi khó dùng đó. Hiiii
Chúc vui.
Thân.
Cách của Po_Pikachu chỉ đúng khi KQ1, KQ2,..., KQn là kiểu số (number), còn nếu KQ1, KQ2,...,KQn không phải là kiểu số thì coi như xong!Hàm IF lồng vào nhau không thể nào đến N số lần logic được đâu bạn ơi!
Tối đa chỉ có thể dùng được 8 lần Logic ứng với 9 đáp số và ứng với N = 8 thôi.
Vậy nếu muốn vô tận thì bạn phải dùng cách khác thôi!
Ví dụ: =(Logic 1)*KQ1+(Logic 2)*KQ2+....+(Logic N)*KQN
Vậy thì sẽ được đó.
Vì 1 Logic = True tức là thỏa thì sẽ cho ra kết quả là 1. Và 1 nhân với KQ của Logic đó sẽ ra đáp số của Logic cần tìm.
Vậy bạn cứ thử nghiệm với các logic của bạn xem rồi đối chiếu sẽ thấy cách này là cách hữu dụng nhất nhưng đôi khi cũng hơi khó dùng đó. Hiiii
Chúc vui.
Thân.
=Choose(((Logic_1)+1,(Logic_2)+2,.....(Logic_n)+n),KQ1.KQ2,......,KQn)
Dĩ nhiên là được, mình vẫn hay dùng như cách Po_Kikachu vừa trình bày. Cho nên mình mới nói là "tùy từng bài toán cụ thể" mà tùy cơ ứng biến - Vô chiêu thắng hữu chiêu mà!Nhưng hàm Choose có thể bỏ bớt việc + n số liên tiếp được không? Vì nó là điều kiện lớn hơn hoặc bằng và là chuổi liên tiếp mà. Vậy nếu ví dụ có 4 hạng: "Yếu", "Trung Bình", "Khá", "Giỏi". Thì em sẽ biết như sau:
PHP:=CHOOSE((C6>=0)+(C6>=3)+(C6>=6)+(C6>=8),"Yếu","Trung Bình","Khá","Giỏi")
Bạn dùng công thức sau:Cho em hỏi đề bài yêu cầu là:"nếu ngày đến vào tháng 1 hoặc tháng 5 thì thành tiền= 20%*ngày ở *đơn giá ngày, còn nếu ngày đến vào tháng khác thì thành tiền= ngày ở*đơn giá ngày" công thức ở đây phải làm như thế nào ạ?
[Thành tiền] =[Đơn giá ngày]*Choose(Or(Month([NgàyĐến])=1,Month([NgàyĐến])=5))+1,[NgàyỞ],[NgàyỞ]*20%)
Dùng SUMPRODUCT bạn à! Bạn xem file đính kèm nhé!các bác làm hộ em bài này với
cảm ơn rất nhiều
![]()
Công thức trên dư một dấu đóng ngoặc đơn của hàm CHOOSE, trước chỗ +1:Ca_Dafi đã viết:Bạn dùng công thức sau:
[Thành tiền] =[Đơn giá ngày]*CHOOSE(OR(MONTH([NgàyĐến])=1,MONTH([NgàyĐến])=5))+1,[NgàyỞ],[NgàyỞ]*20%)
Hình như là 20%, chứ không phải 80% anh BNTT ơi!Hay là khỏi cần IF luôn:
[Thành tiền] =[Đơn giá ngày]*[NgàyỞ]*(1-(OR(MONTH([NgàyĐến])=1,MONTH([NgàyĐến])=5)*80%)
[Thành tiền] =[Đơn giá ngày]*[NgàyỞ]*(1-20%*SUM(--(MONTH([NgàyĐến])={1,5})))
[Thành tiền] =[Đơn giá ngày]*[NgàyỞ]*(1-20%*SUM(--(MONTH([NgàyĐến])={1,4,5,9})))
80% chứ sao lại 20%? Em không thấy anh lấy 1 trừ đi à?Hình như là 20%, chứ không phải 80% anh BNTT ơi!
Giảm 20% giá và bằng 20% giá là hai chuyện hoàn toàn khác nhau! Đọc lại đề bài nhé:Với công thức này, nếu ta có thêm vài điều kiện tháng nữa vào thì công thức chỉ dài thêm tối đa vài ký tự tương đương với số điều kiện thêm vào nữa thôi! Ví dụ bài toán trên, nếu điều kiện là: hoặc tháng của ngày đến là 1,4,5,9 thì được giảm 20%, ta chỉ cần thêm vào mảng điều kiện là xong:
Cho em hỏi đề bài yêu cầu là:
Nếu ngày đến vào tháng 1 hoặc tháng 5 thì thành tiền = 20%*ngày ở *đơn giá ngày
Nếu ngày đến vào tháng khác thì thành tiền = ngày ở*đơn giá ngày
Công thức ở đây phải làm như thế nào ạ?
Bạn dùng hàm dcounta xem, hàm này phải kẻ thêm bảng phụ, mình có làm trong file đính kèm đấy!các bác làm hộ em bài này với
cảm ơn rất nhiều
![]()