Tính tiền điện tiêu thụ theo giá luỹ tiến

Liên hệ QC
Mình đọc vài bài viết liên quan đến cách tính tiền điện bằng excel của các bạn gửi lên, mình cũng hiểu cách của các bạn làm, và mình cũng áp dụng cho bài của mình làm,nhưng không hiểu sao mình làm thế nào cũng không cho ra kết quả đúng. trong một cột mình tính ra thì vẫn có một hàng kết quả không hợp lệ, hoạc thay đổi các con số thì lại cho kết quả sai. Bạnnaof excell pro giúp đỡ mình với, mình xin cảm ơn các bạn nhiều.
Bluedragon
Bạn dùng công thức này:
Mã:
=MIN(E3-D3,--F3)*450+MAX(G3-F3,0)*800
 
Lần chỉnh sửa cuối:
Một vài cái sai trong công thức cột F:

F3=IF(C3=1;"50";IF(C3=2;"100";IF(C3=3;"150")))

- Số không được để trong căp dấu ""
- 3 điều kiện chỉ cần 2 If:

=IF(C3=1;50;IF(C3=2;100;150))

Ngoài ra, ta có thể dùng:

F3 = C3*50
 
Chào cả nhà
Em cần cả nhà giúp ạ :help:
Em có bảng tính tiền điện những cột số KW chịu đơn giá em không hiểu phải làm công thức nào , em đọc trong topic thì những công thức đó áp dụng khi mình có bảng đơn giá hẳn hoi nhưng ở đây em chỉ được cho dữ liệu tính thôi
Xin hướng dẫn dùm em công thức tính ạ
Em cám ơn nhiều
 
Chào diễn đàn. Tôi muốn theo dõi tiền điện gia đình hàng tháng, đã down file từ GPE (xin lỗi trước là không nhớ từ ai) để tự làm nhưng kết quả chưa được như ý, cụ thể là: nếu đọc số công tơ xong rồi ghi vào cột A, các cột còn lại tự động hiện số liệu. Tôi đã tự làm đến cột I, riêng cột J là kết quả cuối cùng thì không biết làm. Xin gửi file mong được giúp đỡ. Chân thành cám ơn
theo dõi tiền điện hàng ngày.jpg
 

File đính kèm

  • Tien dien hang thang.xls
    92 KB · Đọc: 37
Chào diễn đàn. Tôi muốn theo dõi tiền điện gia đình hàng tháng, đã down file từ GPE (xin lỗi trước là không nhớ từ ai) để tự làm nhưng kết quả chưa được như ý, cụ thể là: nếu đọc số công tơ xong rồi ghi vào cột A, các cột còn lại tự động hiện số liệu. Tôi đã tự làm đến cột I, riêng cột J là kết quả cuối cùng thì không biết làm. Xin gửi file mong được giúp đỡ. Chân thành cám ơn
View attachment 147643
dùng công thức này xem
Mã:
=SUMPRODUCT(OFFSET(Banggia!$C$2,1,,MATCH($I13,Banggia!$A$3:$A$9,1)-1,),OFFSET(Banggia!$D$2,1,,MATCH($I13,Banggia!$A$3:$A$9,1)-1,))+($I13-SUMPRODUCT(OFFSET(Banggia!$D$2,1,,MATCH($I13,Banggia!$A$3:$A$9,1)-1,)))*VLOOKUP($I13,Banggia!$A$2:$D$9,3,1)

hoặc dùng name trong file đính kem
 

File đính kèm

  • Tien dien hang thang.xlsm
    43.1 KB · Đọc: 36
Cần giúp viết hàm cho bảng tính tiền điện

Đã xem nhiều, đã phân tích từng hàm, nhưng mình không hiểu nổi nên không tự viết được công thức (hàm) cho bảng tính của mình. File đính kèm là số liệu 2 đồng hồ mà nhà đang dùng theo hóa đơn. Nhờ các bạn viết giúp hàm ở cột Thành Tiền. Cám ơn!
 

File đính kèm

  • Bảng điện A và B.xlsx
    11.3 KB · Đọc: 14
Đã xem nhiều, đã phân tích từng hàm, nhưng mình không hiểu nổi nên không tự viết được công thức (hàm) cho bảng tính của mình. File đính kèm là số liệu 2 đồng hồ mà nhà đang dùng theo hóa đơn. Nhờ các bạn viết giúp hàm ở cột Thành Tiền. Cám ơn!
Mã:
 F3 =ROUND((MIN(B3,$C$3)*$D$3+MIN($C$4,MAX(B3-$C$3,0))*$D$4+MIN($C$5,MAX(B3-$C$3-$C$4,0))*$D$5+MIN($C$6,MAX(B3-$C$3-$C$4-$C$5,0))*$D$6+MIN($C$7,MAX(B3-$C$3-$C$4-$C$5-$C$6,0))*$D$7+MAX(B3-$C$3-$C$4-$C$5-$C$6-$C$7,0)*$D$8)*1.1,0)
copy xuống, tương tự cho B
 
Đã xem nhiều, đã phân tích từng hàm, nhưng mình không hiểu nổi nên không tự viết được công thức (hàm) cho bảng tính của mình. File đính kèm là số liệu 2 đồng hồ mà nhà đang dùng theo hóa đơn. Nhờ các bạn viết giúp hàm ở cột Thành Tiền. Cám ơn!
Góp vui chung với công thức của bạn HieuCD để chủ thớt tham khảo thêm:

Công thức của Thầy NDU:
PHP:
F3=ROUND((1484*MIN(B3,50)+1533*MIN(MAX((B3-50),0),50)+1786*MIN(MAX((B3-100),0),100)+2242*MIN(MAX((B3-200),0),100)+2503*MIN(MAX((B3-300),0),100)+2587*MAX((B3-400),0))*1.1,0)

Hoặc công thức mảng:
PHP:
F3=ROUND(((B3-LOOKUP(B3,{0,50,100,200,300,400}))*LOOKUP(B3,{0,50,100,200,300,400},{1484,1533,1786,2242,2503,2587})+SUMPRODUCT((B3>={0,50,100,200,300,400})*{0,74200,76650,178600,224200,250300}))*1.1,0)


Fill xuống. Tương tự cho N3.

Chúc bạn ngày vui.
 
Lần chỉnh sửa cuối:
Góp vui chung với công thức của bạn HieuCD để chủ thớt tham khảo thêm:

Công thức của Thầy NDU:
PHP:
F3=ROUND((1484*MIN(B3,50)+1533*MIN(MAX((B3-50),0),50)+1786*MIN(MAX((B3-100),0),100)+2242*MIN(MAX((B3-200),0),100)+2503*MIN(MAX((B3-300),0),100)+2587*MAX((B3-400),0))*1.1,0)

Hoặc công thức mảng:
PHP:
F3=ROUND(((B3-LOOKUP(B3,{0,50,100,200,300,400}))*LOOKUP(B3,{0,50,100,200,300,400},{1484,1533,1786,2242,2503,2587})+SUMPRODUCT((B3>={0,50,100,200,300,400})*{0,74200,76650,178600,224200,250300}))*1.1,0)


Fill xuống. Tương tự cho N3.

Chúc bạn ngày vui.

Cám ơn các bạn đã nhiệt tình. Mình dốt quá, vẫn không làm được. Nó như thế này:
gpe.jpg
gpe1.jpg
 
Mã:
 F3 =ROUND((MIN(B3,$C$3)*$D$3+MIN($C$4,MAX(B3-$C$3,0))*$D$4+MIN($C$5,MAX(B3-$C$3-$C$4,0))*$D$5+MIN($C$6,MAX(B3-$C$3-$C$4-$C$5,0))*$D$6+MIN($C$7,MAX(B3-$C$3-$C$4-$C$5-$C$6,0))*$D$7+MAX(B3-$C$3-$C$4-$C$5-$C$6-$C$7,0)*$D$8)*1.1,0)
copy xuống, tương tự cho B
CT này nếu nhiều mức quá CT sẽ rất dài.
Góp vui chung với công thức của bạn HieuCD để chủ thớt tham khảo thêm:

Công thức của Thầy NDU:
PHP:
F3=ROUND((1484*MIN(B3,50)+1533*MIN(MAX((B3-50),0),50)+1786*MIN(MAX((B3-100),0),100)+2242*MIN(MAX((B3-200),0),100)+2503*MIN(MAX((B3-300),0),100)+2587*MAX((B3-400),0))*1.1,0)

Hoặc công thức mảng:
PHP:
F3=ROUND(((B3-LOOKUP(B3,{0,50,100,200,300,400}))*LOOKUP(B3,{0,50,100,200,300,400},{1484,1533,1786,2242,2503,2587})+SUMPRODUCT((B3>={0,50,100,200,300,400})*{0,74200,76650,178600,224200,250300}))*1.1,0)


Fill xuống. Tương tự cho N3.

Chúc bạn ngày vui.
2 Công thức này giống như đang dùng thêm cột phụ, cũng giống như CT trên nếu nhiều mức quá thì không tính tay như vậy được mà phải dùng cột phụ!!!
Cách khác, dùng CT tổng quát cho nhiều n mức, dùng CT mảng:
Mã:
=SUM(IF((B3-SUMIF(OFFSET($C$2,,,ROW($1:$6)),"<>"))>$C$3:$C$8,$C$3:$C$8,IF(B3<SUMIF(OFFSET($C$2,,,ROW($1:$6)),"<>"),,B3-SUMIF(OFFSET($C$2,,,ROW($1:$6)),"<>")))*$D$3:$D$8)*1.1
Ctrl+Shift+Enter rồi fill xuống!!!
Lưu ý mức cao nhất không để số không mà để dạng text, điền đấu vào ' thì CT mới chạy đúng được!!!
 

File đính kèm

  • Bảng điện A và B.xlsx
    13 KB · Đọc: 14
Cám ơn các bạn đã nhiệt tình. Mình dốt quá, vẫn không làm được. Nó như thế này:
................................
Chào binhminhcaonguyen2,

Bạn xem file kèm nha, tôi đã để các công thức vào chung file để bạn dễ tham khảo.

Đừng tự ti nha bạn, không có ai dốt đâu bạn, chỉ có biết và chưa biết thôi --=0--=0--=0

Chúc bạn ngày vui.
 

File đính kèm

  • Bảng điện A và B.xlsb
    19.1 KB · Đọc: 25
Bắt đầu từ 1/3 giá điện sinh hoạt đã tăng lên và giá tiền điện được chia làm 7 bậc
1- 50KWH : giá 550
51- 100KWH : giá 865
101- 150KWH : giá 1135
151- 200KWH : giá 1495
201- 300KWH : giá 1620
301- 400KWH : giá 1740
401 KWH trở lên : giá 1790

Bài toán tính giá điện tiêu thụ này cũng khá quen thuộc, bạn nào có bài mẫu thì update lại hộ. Cảm ơn
BạnthửdùngFilenàyxemcóhợpvớiyêucầucủabạnkhông?
 

File đính kèm

  • Form_Tiền điện lũy kế.xlsm
    311.4 KB · Đọc: 40
Chào các bạn,
Mình có thắc mắc về cách tính tiền theo phương pháp lũy tiến trong excel, xin các bạn giúp đỡ giải đáp dùm mình.
Chẳng hạn danh sách có 6 chủ hộ (xin xem file đính kèm), câu hỏi là (câu 2 ấy) tính Tiền Nước biết rằng : Tiền Nước = Tiêu Thụ * Đơn Giá, trong đó Đơn Giá được tính theo phương pháp luỹ tiến như sau:
upload_2017-10-30_21-4-51.png
Trong file có 2 bài giải, bảng bên trái giải bởi webketoan, bảng bên phải là do mình giải (mình có chú thích trong file).
  • Nếu hộ nào tiêu thụ từ 0 – 50 & trên 100 – kết quả của mình & webketoan là như nhau nên mình nghĩ là mình làm đúng???
  • Nếu hộ nào tiêu thụ từ 51-100 – kết quả của 2 bài giải lại khác nhau. Mình kiểm tra công thức của mình thì mình thấy là đúng với yêu cầu của đề bài nhưng thấy kết quả khác nhau nên cũng hơi hơi bị nghi ngờ không biết là mình có sai hay không nữa. Xin các bạn kiểm tra file dùm mình xem là mình có làm sai chỗ nào hay không vì mình đã kiểm tra kỹ lưỡng mà chẳng rõ là sai chỗ nào. Thêm nữa cột tiền nước Q kết quả của mình lại “trật đường rầy” với kết quả tham khảo nên mình nghĩ là mình sai đâu đó rồi, tìm “lung tung” mà chẳng biết sai chỗ nà, chẳng biết là đề bài yêu cầu “gà” mà mình giải “vịt” ở đâu nữa:(. Xin các bạn giúp đỡ.:)

Chúc các bạn một buổi tối vui vẻ.:D

Chân thành cảm ơn :)

Trân trọng,

Ruby
 

File đính kèm

  • Electricity Bills.xls
    56.5 KB · Đọc: 21
Chào các bạn,
Mình có thắc mắc về cách tính tiền theo phương pháp lũy tiến trong excel, xin các bạn giúp đỡ giải đáp dùm mình.
Chẳng hạn danh sách có 6 chủ hộ (xin xem file đính kèm), câu hỏi là (câu 2 ấy) tính Tiền Nước biết rằng : Tiền Nước = Tiêu Thụ * Đơn Giá, trong đó Đơn Giá được tính theo phương pháp luỹ tiến như sau:
View attachment 185793
Trong file có 2 bài giải, bảng bên trái giải bởi webketoan, bảng bên phải là do mình giải (mình có chú thích trong file).
  • Nếu hộ nào tiêu thụ từ 0 – 50 & trên 100 – kết quả của mình & webketoan là như nhau nên mình nghĩ là mình làm đúng???
  • Nếu hộ nào tiêu thụ từ 51-100 – kết quả của 2 bài giải lại khác nhau. Mình kiểm tra công thức của mình thì mình thấy là đúng với yêu cầu của đề bài nhưng thấy kết quả khác nhau nên cũng hơi hơi bị nghi ngờ không biết là mình có sai hay không nữa. Xin các bạn kiểm tra file dùm mình xem là mình có làm sai chỗ nào hay không vì mình đã kiểm tra kỹ lưỡng mà chẳng rõ là sai chỗ nào. Thêm nữa cột tiền nước Q kết quả của mình lại “trật đường rầy” với kết quả tham khảo nên mình nghĩ là mình sai đâu đó rồi, tìm “lung tung” mà chẳng biết sai chỗ nà, chẳng biết là đề bài yêu cầu “gà” mà mình giải “vịt” ở đâu nữa:(. Xin các bạn giúp đỡ.:)

Chúc các bạn một buổi tối vui vẻ.:D

Chân thành cảm ơn :)

Trân trọng,

Ruby
Xem file giải đính kèm.

Chúc bạn ngày vui
 

File đính kèm

  • Electricity Bills.xls
    61.5 KB · Đọc: 41
Xem file giải đính kèm.
Chúc bạn ngày vui
Chào bạn quocgiacan,
Rất chân thành cám ơn file giải của bạn, cám ơn đã bỏ thời gian giúp đỡ mình.:)

Sau khi "ngâm cứu" file của bạn thì mình nhận ra lỗi sai của mình rồi. Trong cột tính số tiêu thụ lũy tiến từ 51-100, thay vì phải đặt điều kiện cho mức tiêu thụ từ 51-100 & trên 100 thì mình lại bỏ qua khâu này, chỉ đặt điều kiện cho mức tiêu thụ <=50 thôi.:mad:

Thay vì dùng công thức đúng như sau (mình kiểm tra kết quả của công thức này & kết quả của công thức của bạn, thấy giống nhau nên nghĩ là đúng???)

=IF(N4<=50,0,IF(AND(N4>50,N4<=100),N4-50,50))

=IF((N4>50),IF(N4<=100,N4-50,50),0) (công thức của bạn)

Mình lại dùng công thức sai này

=IF(N4<=50,0,50) → sai :(

Thiệt là “đi một ngày đàng, học một sàng khôn”, càng làm bài tập nhiều thì mới thấy "lòi" ra nhiều cái ngu :(
upload_2017-10-31_15-0-19.png
upload_2017-10-31_15-0-41.png


Trong cột U, bạn có hướng dẫn tính bằng 1 công thức duy nhất
upload_2017-10-31_15-1-8.png
= SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50)
Vì mình chưa học công thức mảng nên mình sẽ phân tích công thức trên theo cách mình hiểu như sau (nếu sai thì chỉnh dùm mình. Cám ơn:))
=(IF(N15>0,(N15-0)*2*50)+IF(N15>50,(N15-50)*1*50)+IF(N15>100,(N15-100)*1*50))
Mình “vò đầu bứt tai” vẫn không hiểu sao bạn lại *2*50 hay là *1*50 ở đây vậy, nếu thấy không phiền lòng xin giải thích dùm mình chỗ chưa thông. Cám ơn:)
Mà sao cái mệnh đề If ở công thức trên chỉ có 1 điều kiện thôi mà excel cũng cho ra kết quả vậy??? [chẳng hạn như =IF(N15>0,(N15-0)*2*50) thay vì IF(N15>0,(N15-0)*2*50,)]
Cho hỏi ngu thêm 1 câu hỏi, trong file bạn giải, bạn dùng chức năng gì mà excel thay thế hết các số 0 thành – vậy? Cái file của bạn nhìn nó gọn, đẹp & chuyên nghiệp hơn cái file của mình. Xin làm ơn chỉ dùm mình nếu bạn không cảm thấy phiền.:)

Chân thành cảm ơn.:)

Chúc bạn một tuần mới tràn đầy niềm vui.:D

Chào thân ái,

Ruby
 
=IF(N4<=50,0,IF(AND(N4>50,N4<=100),N4-50,50))

=IF((N4>50),IF(N4<=100,N4-50,50),0)
1. Công thức: =IF((N4>50),IF(N4<=100,N4-50,50),0)
Khi lập điều kiện IF() bạn phải biết "dồn" dữ liệu về đâu: ví dụ
  • Khi N4>50, tức nó dồn các số lớn về phía TRUE, và dồn các số <=50 về phía FALSE. Nếu điều kiện FALSE thì nó bằng 0, hay nó đã thể hiện "lượng điện" nhỏ hơn mức thứ 2 là <=50 tại cột trước đó. Vậy tất cả số lớn "dồn lại" trong điều kiện N4>50, và để thể hiện "lượng điện" CHO cột này chỉ còn có hai dạng, hoặc <=100 hoặc >100, nếu <=100 thì lấy Nó trừ đi 50, nếu lớn hơn thì chỉ lấy mức MAX của nó là 50.
  • Bạn tự xem lại và nghiệm công thức của mình có "dồn" được số liệu hay không? =IF(N4<=50,0,IF(AND(N4>50,N4<=100),N4-50,50)). Mục màu đỏ là FALSE của điều kiện N4<=50, tức nó dồn số lớn về FALSE tức phải >50, vậy còn gài thêm N4>50 trong AND(N4>50,N4<=100) chi cho thừa thải!!?
2. Công thức: = SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) là công thức 'Mảng' chuyên trị các bài toán "lũy tiến" (còn 1 công thức khác nữa dạng "Trị giá" + Max() x đơn giá), như: tính giá điện lũy tiến, thuế Thu nhập cá nhân lũy tiến...v.v.. Nó nhìn đơn giản, nhưng đằng sau nó có 1 giải thuật hẵn hoi mà có thể gọi "tính giá bậc thang". Bạn có thể xem file "Giaithich_Bacthang.xlsb" trong đó có ví dụ của bạn đang hỏi. Dùng công thức này thì có thể tính liền ngay thành tiền mà không cần qua các cột phụ chi tiết bậc thang lũy tiến như trong ví dụ của bạn: 0-50; 51-100; >100.
PHP:
V15=(LOOKUP(N15,{0,50,100},{2,3,5}%)+1)*SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50)
Enter fill xuống.

Các sheet phía trước gồm: cách giải thích và cũng gom các công thức hay để hình thành công thức tính lũy tiến của nhiều thành viên: @eke_rula, @HieuCD, @huuthang_bd mà tôi tập hợp được.

Các link sau để bạn tham khảo hoàn cảnh ra đời của công thức:
  1. http://www.giaiphapexcel.com/diendan/threads/tìm-công-thức-tính-tiền-điện-theo-từng-mức.122484/#post-766781
  2. http://www.giaiphapexcel.com/diendan/threads/tìm-công-thức-tính-tiền-điện-theo-từng-mức.122484/#post-767293
  3. http://www.giaiphapexcel.com/diendan/threads/công-thức-tính-thuế-tncn.116677/#post-730970
  4. http://www.giaiphapexcel.com/diendan/threads/công-thức-tính-thuế-tncn.116677/#post-731002

Chúc bạn ngày vui.
 

File đính kèm

  • Giaithich_BacThang .xlsb
    59.6 KB · Đọc: 20
Lần chỉnh sửa cuối:
Có lẽ anh quocgiacan "phủ mền" rồi nên mạn phép thay mặt anh:

* So sánh {100,50,50} và {2,1,1}*50 cái nào gọn hơn? Chẳng qua là rút thừa số chung trong phép nhân thôi
* SUM(...) ở đây không phải là gộp IFs lại như bạn hiểu, mà là cộng tất cả các phần tử trong mảng:
=SUM({1,2,3})=6
=SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50)
Phân tích ra:
=SUM((N15>0)*(N15-0)*100+(N15>50)*(N15-50)*50+(N15>100)*(N15-100)*50)
Trong đó các biểu thức luận lý quy ra 1 hay 0 để tham gia vào phép tính

P/S: Opp, tưởng anh quocgiacan ngủ sớm :)
 
1. Công thức: =IF((N4>50),IF(N4<=100,N4-50,50),0)

Khi lập điều kiện IF() bạn phải biết "dồn" dữ liệu về đâu: ví dụ

  • Khi N4>50, tức nó dồn các số lớn về phía TRUE, và dồn các số <=50 về phía FALSE. Nếu điều kiện FALSE thì nó bằng 0, hay nó đã thể hiện "lượng điện" nhỏ hơn mức thứ 2 là <=50 tại cột trước đó. Vậy tất cả số lớn "dồn lại" trong điều kiện N4>50, và để thể hiện "lượng điện" CHO cột này chỉ còn có hai dạng, hoặc <=100 hoặc >100, nếu <=100 thì lấy Nó trừ đi 50, nếu lớn hơn thì chỉ lấy mức MAX của nó là 50.
  • Bạn tự xem lại và nghiệm công thức của mình có "dồn" được số liệu hay không? =IF(N4<=50,0,IF(AND(N4>50,N4<=100),N4-50,50)). Mục màu đỏ là FALSE của điều kiện N4<=50, tức nó dồn số lớn về FALSE tức phải >50, vậy còn gài thêm N4>50 trong AND(N4>50,N4<=100) chi cho thừa thải!!?
Sau khi đọc đi đọc lại hướng dẫn của bạn & huy động tất cả “dây thần kinh của não bộ” để suy nghĩ thì hình như mình cũng hiểu hiểu ra vấn đề. Vấn đề ở chỗ là công thức mình thiết lập bị dư điều kiện. Mình chỉnh lại công thức thành:

=IF(N4<=50,0,IF(N4<=100,N4-50,50)) → excel cũng cho ra kết quả giống như của bạn nên mình nghĩ là đúng???

=IF(N4<=50,0,IF(N4<=100,N4-50,50)) → có nghĩa nếu N4<=50 là TRUE thì kết quả = 0 còn N4>50 là FALSE. Cái FALSE này kết hợp với N4<=100, có nghĩa là nếu 50<N4<=100 thì kết quả = N4-50, còn không thì kết quả = 50.

Mình không được thông mình, lại đang “ngấp nghé tuổi già” nên đã bắt đầu lú lẫn & hay quên, gặp đó, biết đó nhưng chắc sẽ “té ngã” vì lỗi tương tự lần nữa. Mình hy vọng là sau nhiều lần “té đau” thì sẽ “nhớ đời” & tự rút ra kinh nghiệm. Nếu mình có lặp lại lỗi tương tự trong tương lai, xin “nhẹ nhàng” nhắc nhở mình, đừng khiển trách “ném đá” mình mà tội nghiệp “con bé”. Cảm ơn trước.:)

2. Công thức: = SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) là công thức 'Mảng' chuyên trị các bài toán "lũy tiến" (còn 1 công thức khác nữa dạng "Trị giá" + Max() x đơn giá), như: tính giá điện lũy tiến, thuế Thu nhập cá nhân lũy tiến...v.v.. Nó nhìn đơn giản, nhưng đằng sau nó có 1 giải thuật hẵn hoi mà có thể gọi "tính giá bậc thang". Bạn có thể xem file "Giaithich_Bacthang.xlsb" trong đó có ví dụ của bạn đang hỏi. Dùng công thức này thì có thể tính liền ngay thành tiền mà không cần qua các cột phụ chi tiết bậc thang lũy tiến như trong ví dụ của bạn: 0-50; 51-100; >100.

PHP:
V15=(LOOKUP(N15,{0,50,100},{2,3,5}%)+1)*SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50)
Enter fill xuống.

= SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) → công thức này nhờ bạn bebo021999 thì mình đã “ngộ ra chân lý”.

=(LOOKUP(N15,{0,50,100},{2,3,5}%)+1)*SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) → công thức này mình hiểu phần sau, còn phần đầu thì hơi hơi hiểu???

=(LOOKUP(N15,{0,50,100},{2,3,5}%)+1) → Vì là mình chưa học hàm lookup nên mình sẽ giải thích công thức này theo những gì mình hiểu nghen. Công thức này nghĩa là tìm N15, nếu N15=0 thì kết quả là 2%, nếu N15=50 thì kết quả là 3%, nếu N15=100 thì kết quả là 5%. Ủa, vậy nếu N15 nằm giữa những con số này (chẳng hạn 15,60…) thì sao? Hình như là mình hiểu công thức trên chưa chính xác lắm thì phải. Nếu không thấy phiền xin bạn giải thích dùm mình chỗ mình hiểu sai nghen. Cám ơn :)

Thêm nữa, mình không hiểu vì sao bạn +1 ở cuối công thức, mình biết là nếu không có +1 thì kết quả không đúng nhưng không biết bạn lập luận ra sao để cuối cùng có +1 mà thành ra kết quả đúng vậy?

Cái file bạn đính kèm mình có xem qua, hơi “choáng”, hình như kiến thức của mình đang “biểu tình” đòi “uýnh lộn”. Để từ từ mình sắp xếp lại kiến thức của mình rồi tham khảo file bạn đính kèm sau. Nếu có chỗ nào không hiểu thì mình sẽ “níu tay níu chân” bạn nhờ giúp đỡ, hy vọng là lúc đó bạn có thời gian hen. Cám ơn bạn trước.:)


Mình có xem sơ qua các links bạn list, tiếp tục “choáng tập 2”. Thôi cho mình “bỏ ống heo” để dành mấy cái kiến thức này vậy. Sau này khi nào rành rành excel tí ti, kiến thức mình “ngoan ngoãn” không “biểu tình đòi uýnh lộn” nữa thì mình lại "tìm về cố hương" sau. Cho mình nói “See you later” với mấy cái links đó nghen.

Cho mình “gạo ghẻ” câu hỏi cuối cùng, bạn dùng chức năng gì của excel mà đổi số 0 thành – vậy? Xin chỉ dẫn cho mình, nếu mình có hỏi ngu thì xin đừng ném đá. Chân thành cảm ơn:)


Mình cũng chúc bạn 1 tuần mới dzui dzẻ & tràn đầy năng lượng :D:cool:

Trân trọng,

Ruby
 
Có lẽ anh quocgiacan "phủ mền" rồi nên mạn phép thay mặt anh:

P/S: Opp, tưởng anh quocgiacan ngủ sớm :)

Cho mình “tọc mạch” xíu xiu. Lúc bạn post cái hướng dẫn này là khoảng 3h chiều tại VN, chiều còn đang rất rực rỡ mà quocgiacan đã “mộng đẹp” rồi sao? quocgiacan không sống ở VN à? quocgiacan đang sống ở đâu thế nhỉ?

* So sánh {100,50,50} và {2,1,1}*50 cái nào gọn hơn? Chẳng qua là rút thừa số chung trong phép nhân thôi

* SUM(...) ở đây không phải là gộp IFs lại như bạn hiểu, mà là cộng tất cả các phần tử trong mảng:

=SUM({1,2,3})=6

=SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50)

Phân tích ra:

=SUM((N15>0)*(N15-0)*100+(N15>50)*(N15-50)*50+(N15>100)*(N15-100)*50)

Trong đó các biểu thức luận lý quy ra 1 hay 0 để tham gia vào phép tính


Ối giời đất ơi, bạn giải thích quá là cặn kẽ, dễ hiểu luôn mặc dù mình chưa có học hàm mảng. Nhờ bạn mà mình tìm được “chân lý” của cái công thức này.:)

=SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) → cái này “không phải dạng dzừa đâu” à nghen, ít nhất là đối với mình:mad:

Hy vọng trong tương lai, mình có thắc mắc gì thì anh/chị/em/bạn GPE cũng giải thích cặn kẽ, dễ hiểu như bạn vậy hen. (Cái này chắc là “hên xui”???)

Mình chúc bạn một buổi tối vui vẻ & có nhiều "mộng đẹp" :)
Chào thân ái,
Ruby

p.s.1 cho mình plagiarize câu nói của bạn nghen, mình cũng “rất hân hạnh làm quen với bạn, mọi lúc mọi nơi.”:)

p.s.2 Bạn cũng là dân kế toán à? Lâu ngày gặp lại “người quen”, “mừng húm”! Mình cũng là dân kế toán nhưng mình chuyên về Magagement Accounting hơn là Financial Accounting. Bạn thiên về mảng nào thế?
 
=(LOOKUP(N15,{0,50,100},{2,3,5}%)+1)*SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50)
1. LOOKUP(N15,{0,50,100},{2,3,5}%) tìm N15 có trong khoảng nào của mảng {0,50,100}, nó tương tự MATCH(N15,{0,50,100},1), Ví dụ: N15=30 nó ở khoảng 0->50: khoảng 1, N15=97 nó ở khoảng 2, N15=422 nó ở khoảng 3. Nhưng thay vì trả về số thứ tự, nó dẫn đến kết quả của mảng {2,3,5}% tương ứng số thứ tự mà nó tìm được. Công thức này tìm được số phần trăm phụ phí, nếu nhân cho trị giá thì ra Giá trị phụ phí cộng thêm vào.

2. SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) là công thức tính Trị giá điện theo lũy tiến.

3. (LOOKUP(N15,{0,50,100},{2,3,5}%)+1)*SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) trả về tổng Giá trị điện lũy tiến và phụ phí, cũng là dạng đem thừa số chung ra ngoài, như biểu thức toán: (a+1)b = ab+b

chức năng gì của excel mà đổi số 0 thành – vậy? Xin chỉ dẫn cho mình
4. Chỉnh định dạng số 0 thành "-" chỉ cần đứng tại ô, hay Vùng có số/Vùng số muốn định dạng, nhấn ở trên Menu\Home thanh bar, có Icon hình dấu phẩy "," và Icon ".00->.0"

Chúc bạn ngày vui.
 
Web KT
Back
Top Bottom