Dùng Excel để tính giá điện ??? (7 người xem)

Liên hệ QC

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

hthanhevn

Thành viên mới
Tham gia
21/1/10
Bài viết
7
Được thích
0
e có điều muốn hỏi các huynh đệ 1 việc như sau :
e muốn dùng excel để tính tiền điện của nhà mình thì dùng hàm gì ???
Ví dụ như sau :
1 tháng e dùng hết 70 số điện. EVN thu tiền điện là : 500d/50 số đầu tiên, 1000d/50 số tiếp theo.
Vậy nếu dùng excel để tính ra số tiền điện phải đóng.
e phải dùng hàm gì để tính ???
}}}}}
 
Lần chỉnh sửa cuối:
dùng hàm IF có lẽ được đó bạn ơi
 
you có thể hướng dẫn chi tiết đc hok ah? e chỉ biết excel ở trình độ sơ sơ thôi
 
Mình có dùng file này để tính tiền điện của nhà mình và so sánh với hóa đơn của bên điện lực thì thấy là kết quả đúng,chênh lệch trong dung sai . Nhưng tháng 3/2010 này giá điện thay đổi rồi vì vậy các bạn phải vào code để thay lại cho phù hợp.Code này mình không nhớ là của bạn nào làm (sheet chitiet mình làm ) ,mình đã cám ơn tác giả rồi nhưng nhân qua đây xin cám ơn tác giả thêm 1 lần nữa. kakaka...
 

File đính kèm

Lần chỉnh sửa cuối:
Thì bạn cho bảng giá mới đi mình điều chỉnh cho, hiện mấy người có được bảng giá chính thức.
Còn bảng "Cửu chương" tính sẵn công thức không hợp lý . Ban viết là:
=B20*10%+B20+2700
Tại sao không viết:
=B20*110%+2700
Mình không hiểu 2700 là cái chi chi???
 
Lần chỉnh sửa cuối:
Mình làm lâu rồi ,quá trời thứ trong đầu nên bây giờ bạn hỏi 2700 là cái chi chi thì mình cũng mở ra kiểm tra lại thì cũng không biết 2700 là cái chi chi luôn kakaka .Khi nào mình nhớ nó là cái chi chi thì sẽ báo sau vậy .Chắc chiều nay đi làm mấy chai cho nó tỉnh táo lại quá ,tuổi mới có "băm mấy cái" mà cứ ở trên mây không hà hà hà ....
 
thực ra không cần phải dùng đến bảng cửu chương hay code gì cả đâu . bạn vui long xem file nhé
troi oi có ai giup tôi load file đuoc không ?
thôi để mình gửi mail cho bạn nhé
 
Lần chỉnh sửa cuối:
thanks các a đã tham gia hahahaha.
nhưng mà ví dụ nó cứ tăng tiền theo nấc 50 số thì làm thế nào ? ví dụ như là 0=>50 : 500d/số; 50=>100 : 1000d/số; 150=>200 : 1200d/số chẳng hạn.
có cách nào mà chỉ cần nhìn số công tơ điện rồi tính ra số điện dùng trong 1 tháng rồi tính đc số tiền ko ??
trình của e ko cao lắm, có thể nói là nhập môn thôi nhưng mà e thấy hứng thú với vấn đề này.( có lẽ sẽ liên quan đến công việc sau nay)
mong các huynh chỉ giúp
 
Nếu không nhầm thì mình đã viết hàm mà bạn tutientrung đã giới thiệu. Nay mình sửa theo bảng giá luỹ tiến mới từ 1/3/2010 và thêm 2 hàm thường dùng trong các báo cáo, in hoá đơn điện v.v…

1/Hàm tính thành tiền điện chưa thuế khi biết công suất sử dụng:

PHP:
Public Function DienNew(congto As Long)
  Select Case congto
  Case Is > 400
  DienNew = (congto - 400) * 1790 + 540750
  Case Is > 300
  DienNew = (congto - 300) * 1740 + 366750
  Case Is > 200
  DienNew = (congto - 200) * 1620 + 204750
  Case Is > 150
  DienNew = (congto - 150) * 1495 + 130000
  Case Is > 100
  DienNew = (congto - 100) * 1135 + 73250
  Case Is > 50
  DienNew = (congto - 50) * 865 + 30000
  Case Is > 0
  DienNew = congto * 600
  End Select
  End Function
Cú pháp =DienNew(Congto)

2/Hàm tách tiền theo bậc nào đó là bao nhiêu?

PHP:
Public Function Tienbac(congto As Long, bac As Integer)
  Dim gia()
  Dim muc()
  gia = Array(600, 865, 1135, 1495, 1620, 1740, 1790)
  muc = Array(0, 50, 100, 150, 200, 300, 400)
  If bac < 1 Or bac > 7 Or congto < muc(bac - 1) Then Tienbac = 0: Exit Function
  If bac < 7 Then
  Tienbac = IIf(congto >= muc(bac), muc(bac) - muc(bac - 1), congto - muc(bac - 1))
  Tienbac = Tienbac * gia(bac - 1)
  Else
  Tienbac = (congto - 400) * 1790
  End If
  End Function
Cú pháp = TienBac(Congto, Bac_nao)

3/Hàm tách công suất sử dụng theo bậc nào là bao nhiêu?

PHP:
Public Function MucCS(congto As Long, bac As Integer)
  Dim muc()
  muc = Array(0, 50, 100, 150, 200, 300, 400)
  If bac < 1 Or bac > 7 Or congto < muc(bac - 1) Then MucCS = 0: Exit Function
  If bac < 6 Then
  MucCS = IIf(congto >= muc(bac), muc(bac) - muc(bac - 1), congto - muc(bac - 1))
  Else
  MucCS = congto - 400
  End If
  End Function
Cú pháp =MucCS(Congto,Bac_nao)

Các bạn tham khảo trong file.
 

File đính kèm

Lần chỉnh sửa cuối:
mình không biết viết code do vậy chỉ sử dụng hàm thông thường này =IF($C$6>400,($C$6-400)*1790+538250,IF($C$6>300,($C$6-300)*1740+364250,IF($C$6>200,($C$6-200)*1620+202250,IF($C$6>150,($C$6-150)*1495+127500,IF($C$6>100,($C$6-100)*1135+70750,IF($C$6>50,($C$6-50)*865+27500,$C$6*550))))))
 
Anh Sealand ơi.
Nhưng từ 1/3/2010, việc tính tiền điện theo cả giá cũ và giá mới.
Theo em được biết thì: Chẳng hạn, tính tiền điện tháng 2 như sau:
Tháng 2: 28 ngày
Tổng số kwh 1 gia đình sử dụng: 600 kwh (Chốt công tơ từ 18/2 đến 18/3)
Và cách tính tiền điện là:
* Theo giá cũ:(600/28)*10 ngày (10 ngày của tháng 2 sẽ áp dụng giá cũ 600, 865, 1135, 1495, 1620, 1740, 1790)
* Theo giá mới: (600/28)*18 ngày (18 ngày của tháng 3 sẽ áp dụng giá mới 600, 1004, 1214, 1594, 1722, 1844, 1890)
Cộng tiền điện theo 2 giá như trên và nhân với 10% thuế.
Vậy thì code sẽ xử lý như thế nào hả anh.
 
Tính tiền điện

Qua học tập trên GPE tôi đã làm: 1) Tính tiền điện theo từng hộ (hoá đơn). 2) Hộ "tập thể" (danh sách có nhiều người)
với những hàm đơn giản. Bạn tham khảo!TienDien.JPG
 

File đính kèm

Anh Sealand ơi.
Nhưng từ 1/3/2010, việc tính tiền điện theo cả giá cũ và giá mới.
Tháng giao thời thì thực là khó, chấp nhận làm 2 phần tính giá riêng thôi. Chả lẽ ta phải làm 1 file cho riêng tháng 3
Mình gửi lại file có thêm ví dụ sử dụng hàm UDF mình đã giới thiệu để làm Hoá đơn, bảng kê điện rất gọn và tiện.
 

File đính kèm

khó quá nhỉ, nhìn những câu trả lời trên chắc e phải mất mấy tháng để học hỏi dần dần
dù sao cũng cảm ơn các y0u nhiều
 
Đúng là cao thủ thiệt là hay quá điiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 
Anh Sealand ơi, nhưng trong các hàm tiền điện anh gửi cho em thì không có tính đến số hộ dùng. Hóa đơn của em có một số gia đình dùng chung công tơ, do vậy sẽ phải thêm cột số hộ dùng chung vào. ANh sửa giúp lại em cái hàm VBA nhé.
Thanks
 
Mình cập nhật lại các hàm theo yêu cầu của bạn có tính số hộ dùng chung công tơ, cú pháp có thêm số hộ vào sau cùng trong các tham số.
Các bạn tham khảo file đính kèm.
Các hàm cụ thể:
Mã:
Option Explicit
'================================================
Public Function DienNew(congto As Long, ho As Integer)
Select Case congto
Case Is > 400 * ho
DienNew = (congto - 400 * ho) * 1790 + 540750 * ho
Case Is > 300 * ho
DienNew = (congto - 300 * ho) * 1740 + 366750 * ho
Case Is > 200 * ho
DienNew = (congto - 200 * ho) * 1620 + 204750 * ho
Case Is > 150 * ho
DienNew = (congto - 150 * ho) * 1495 + 130000 * ho
Case Is > 100 * ho
DienNew = (congto - 100 * ho) * 1135 + 73250 * ho
Case Is > 50 * ho
DienNew = (congto - 50 * ho) * 865 + 30000 * ho
Case Is > 0
DienNew = congto * 600 * ho
End Select
End Function
'================================================
Public Function Tienbac(congto As Long, bac As Integer, ho As Integer)
Dim gia()
Dim muc()
gia = Array(600, 865, 1135, 1495, 1620, 1740, 1790)
muc = Array(0 * ho, 50 * ho, 100 * ho, 150 * ho, 200 * ho, 300 * ho, 400 * ho)
If bac < 1 Or bac > 7 Or congto < muc(bac - 1) Then Tienbac = 0: Exit Function
If bac < 7 Then
Tienbac = IIf(congto >= muc(bac), muc(bac) - muc(bac - 1), congto - muc(bac - 1))
Tienbac = Tienbac * gia(bac - 1)
Else
Tienbac = (congto - 400 * ho) * 1790
End If
End Function
'================================================
Public Function MucCS(congto As Long, bac As Integer, ho As Integer)
Dim muc()
muc = Array(0 * ho, 50 * ho, 100 * ho, 150 * ho, 200 * ho, 300 * ho, 400 * ho)
If bac < 1 Or bac > 7 Or congto < muc(bac - 1) Then MucCS = 0: Exit Function
If bac < 7 Then
MucCS = IIf(congto >= muc(bac), muc(bac) - muc(bac - 1), congto - muc(bac - 1))
Else
MucCS = congto - 400 * ho
End If
End Function
 

File đính kèm

Lần chỉnh sửa cuối:
Anh Sealand kiểm tra lại giúp em phần diennew. Khi em thay đổi đơn giá mới thì ông Nguyễn A7 lại bị lỗi.
 

File đính kèm

Do khai báo tham số của hàm không hợp lý thôi, các bạn đổi hết

ho as Integer Thành : ho as Long
 

File đính kèm

Web KT

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

Back
Top Bottom