Những vấn đề về hàm IF

Liên hệ QC
Status
Không mở trả lời sau này.
Bạn gửi file như vầy thì đâu có ai download được đâu. Trừ bạn thôi
 
Bạn nhấn vào nút "Đổi sang khung lớn" rồi kéo thanh trượt xuống sẽ thấy nút "Tải file từ máy". Tiếp theo là nạp file vào rồi Gửi bài lên. Vậy mới đúng.
Thân.
 
Hỏi về hàm IF

Các bạn cho mình hỏi:mình có 3 cột A,B,C và D
Nếu A>B thì giá trị cột D=(C-A)/A ,còn nếu A<B hoặc A là số âm thì D=(C-B)/B.Mình mới học excel nên chưa rành.Chân thành cảm ơn.
 
D1=if(or(a1<b1,a1<0),(c1-b1)/b1,(c1-a1)/a1)

Còn để chắc ăn để tránh báo lỗi khi A1 hay B1 bằng 0, thì:
=IF(ISERROR(IF(OR(A1<B1;A1<0);(C1-B1)/B1;(C1-A1)/A1));0;(IF(OR(A1<B1;A1<0);(C1-B1)/B1;(C1-A1)/A1)))
 
Lần chỉnh sửa cuối:
Các bạn cho mình hỏi:mình có 3 cột A,B,C và D
Nếu A>B thì giá trị cột D=(C-A)/A ,còn nếu A<B hoặc A là số âm thì D=(C-B)/B.Mình mới học excel nên chưa rành.Chân thành cảm ơn.
Chỉ cần gộp bài của bạn vào là được rồi.
Mã:
=if(A>B, (C-A)/A, if(or(A<0,A<B),(C-B)/B,"còn khi A=B")
 
Lần chỉnh sửa cuối:
Các bạn cho mình hỏi:mình có 3 cột A,B,C và D
Nếu A>B thì giá trị cột D=(C-A)/A ,còn nếu A<B hoặc A là số âm thì D=(C-B)/B.Mình mới học excel nên chưa rành.Chân thành cảm ơn.
Cho hỏi:
  1. Nếu A = B thì sao ? D bằng cái gì ?

  2. Nếu A>B, mà A=0 thì sao ? D=(C-A)/0 à ? Excel nó la toáng lên là =#DIV/0! thì sao ?
 
Các bạn cho mình hỏi:mình có 3 cột A,B,C và D
Nếu A>B thì giá trị cột D=(C-A)/A ,còn nếu A<B hoặc A là số âm thì D=(C-B)/B.Mình mới học excel nên chưa rành.Chân thành cảm ơn.

Giả định ngoài hai trường hợp bạn nêu ra, còn lại D=0, xem công thức sau thử:
PHP:
D1 = IF((A1>B1)*(A1<>0),(C1-A1)/A1,IF(((A1<B1)+(A1<0))*(B1<>0),(C1-B1)/B1,0))

Sau đó fill công thức xuống!
 
Các bạn cho mình hỏi:mình có 3 cột A,B,C và D
Nếu A>B thì giá trị cột D=(C-A)/A ,còn nếu A<B hoặc A là số âm thì D=(C-B)/B.Mình mới học excel nên chưa rành.Chân thành cảm ơn.

Cấu trúc hàm if như sau: Tại ô kết quả gõ :
=IF(điều kiên, giá trị của ô nếu đk là đúng, giá trị của ô nếu đk là sai)

Trong phần điều kiện có thể sử dụng các phép AND, OR để mô tả chính xác các điều kiện đặt ra. Chúc bạn thành công với các bài tập tương tự.
 
Đề bài bị thiếu điều kiện không chặt chẽ lắm
 
Không hẵn!

Đề bài bị thiếu điều kiện không chặt chẽ lắm
Mã:
 mình có 3 cột A,B,C và D
Nếu A>B thì giá trị cột D=(C-A)/A ,còn nếu A<B hoặc A là số âm thì D=(C-B)/B.
Dùng hàm IF() trong trường hợp này, ta chỉ nên biện luận thêm A<>0 hay B<>0 nữa là được;
(Vì lý do bạn í chưa biết nhiều về excel mà thôi)
Còn những trường hợp các bạn trên nêu, chỉ là tham khảo & có khi tác giả xử lý rồi, khỏi tốn thời gian chi mà! . . . .
 
Bạn kiểm tra lại nhé, mình hơi buồn ngủ nên không biết có nhầm đâu không,hehe. Mà nhắc bạn chút nghe, nội quy diễn đàn không cho phép dùng mấy từ như "cứu", "khẩn cấp". Bạn lưu ý lần sau nhé.
 

File đính kèm

  • Book4.xls
    18.5 KB · Đọc: 140
Gửi bạn thêm một cách nữa, chèn thêm cột phụ vào, và khi đó thì công thức tính tiền nó ngắn ngủn à, mà lại chả có cái IF nào hết trơn...
 

File đính kèm

  • Book4(1).xls
    22 KB · Đọc: 114
Gửi bạn thêm một cách nữa, chèn thêm cột phụ vào, và khi đó thì công thức tính tiền nó ngắn ngủn à, mà lại chả có cái IF nào hết trơn...
Nếu không thích cột phụ thì bạn BNTT có thể chuyển nó thành name ---> Cũng là 1 cách
 
Anh nói rõ hơn về cách dùng name được không ạ.
Xin giới thiệu với bạn một cách.

Căn cứ vào cái này:
  • Đối với điện sinh hoạt thì 100kw đầu tính theo đơn giá còn từ 101kw thì giá 800
  • Đối với điện dịch vụ thì 200kw đầu tính theo đơn giá còn từ 201kw thì tính giá 2000
  • Đối với điện công nghiệp thì 1000kw đầu tính theo đơn giá còn từ 1001kw thì tính giá 1500
Ta đặt 2 Name động bằng công thức: Dmuc để tính ra định mức sử dụng điện cho từng loại hộ, và GiaVuotDmuc để tính ra số tiền phải trả cho số điện vượt định mức.

Lưu ý rằng, trước khi gọi Insert Define Name để tạo các Name sau đây, bạn phải chắc chắn bạn đang chọn một ô nào đó ở hàng số 3.

  1. Dmuc: =IF(Sheet1!$C3="Sinh hoạt", 100, IF(Sheet1!$C3="Dịch vụ", 200, 1000))

    Nếu loại sử dụng là Sinh hoạt thì định mức là 100, nếu loại sử dụng là Dịch vụ thì định mức là 200, còn không (nghĩa là Công nghiệp) thì định mức là 1000


  2. GiaVuotDmuc: =IF(Sheet1!$C3="Sinh hoạt", 800, IF(Sheet1!$C3="Dịch vụ", 2000, 1500))

    Nếu loại sử dụng là Sinh hoạt thì giá tiền cho số điện vượt định mức là 800, nếu loại sử dụng là Dịch vụ thì giá tiền cho số điện vượt định mức là 2000, còn không (nghĩa là Công nghiệp) thì giá tiền cho số điện vượt định mức là 1500


Sau đó để tính số tiền phải trả cho số điện trong định mức, ta dùng biểu thức (tại ô F3):
MIN(D3, Dmuc)*E3

Lấy con số nhỏ hơn giữa số điện sử dụng thực tế và số điện định mức, nghĩa là nếu vượt định mức thì lấy định mức, còn nếu không vượt định mức thì lấy số điện thực tế sử dụng, nhân với giá 1Kw ở cột E

Để tính số tiền phải trả cho số điện vượt định mức, ta dùng biểu thức (tại ô F3):
MAX(D3-Dmuc, 0)*GiaVuotDmuc

Lấy con số lớn hơn giữa số điện sử dụng vượt định mức và số 0, nghĩa là nếu có vượt định mức (bằng số điện sử dụng thực tế trừ đi định mức) thì mới tính, còn không (số điện sử dụng thực tế trừ đi định mức bị âm) thì thôi, nhân với giá điện vượt định mức

Cộng hai biểu thức trên đây lại (số tiền trong định mức và số tiền vượt định mức), ta có công thức hoàn chỉnh cho ô F3:
=MIN(D3, Dmuc)*E3 + MAX(D3-Dmuc, 0)*GiaVuotDmuc
Copy công thức này xuống hết các ô trong cột Thành tiền (cột F).

Xong.​

Bài hướng dẫn này, tôi làm trên file gốc ban đầu của tác giả topic này (Vumanhkien). Chưa sửa đổi gì hết, không có cột phụ nào.
 
Lần chỉnh sửa cuối:
Anh nói rõ hơn về cách dùng name được không ạ.
Thì lấy công thức ở cột phụ cho vào name... ở những cột khác, công thức nào có cộng trừ nhân chia với cột phụ thì bây giờ tính toán nó với name
Xem file (dựa vào file của BNTT)
Bạn bấm Ctrl + F3 vào xem name nha!
 

File đính kèm

  • Tinhtiendien.xls
    27.5 KB · Đọc: 77
À em hiểu rồi, như vậy 2 cái Name cũng là 2 hàm đóng vai trò như 2 cột phụ mà anh thêm vào.
 
À em hiểu rồi, như vậy 2 cái Name cũng là 2 hàm đóng vai trò như 2 cột phụ mà anh thêm vào.
Đúng vậy, bạn à. Nếu dùng Name thay cho cột phụ, thì thao tác sẽ nhanh hơn nhiều, vì chỉ cần mỗi một công thức, chứ còn nếu chèn cột phụ thì phải làm công thức cho nguyên cả cái cột phụ đó.

Tuy nhiên, việc đặt Name động như vầy, không phải đơn giản như đặt một Name bình thường. Bạn nên xem kỹ lại bài của tôi, có một cái lưu ý được tô đậm, nếu không theo điều đó thì Name của bạn sẽ trật lất! Thêm nữa, bạn để ý cách tôi sử dụng địa chỉ tuyệt đối cho cột ($C3).

Thân.
 
Em không hiểu lập luận của công thức này suy nghỉ mãi mà không ra +-+-+-++-+-+-++-+-+-+
Đúng là đập ba búa củng ngu **~**
=MIN(D3;DM)*E3+MAX(D3-DM;0)*GVDM
Chử DM kia thì ok biết ,hiểu (name thì hiểu )
còn cái này :MIN(D3;DM) ?????
Này nữa :
MAX(D3-DM;0)????????

Em có hàm Min & Max đây luôn mà củng không hiểu ?
Các anh giải thích hộ em !**~**
Thanks!

 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom