Lập công thức tính tiền cho CLB Worl Cup 2010 (1 người xem)

Liên hệ QC

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

longlt08

Thành viên thường trực
Tham gia
23/3/08
Bài viết
322
Được thích
401
Nhờ mọi người lập giúp công thức tính tiền cho từng người. Sao cho khi điền kết quả trận đấu thì sẽ cho giá trị của từng người tương ứng. Mình loay hoay mãi chưa lập xong. Mọi người giúp mình với nhé kẻo WC "đá" đến nơi rồi ! Có file gửi kèm theo. Thanks !
 

File đính kèm

Tính tiền

Thử xem.
Công thức hơi bị phức tạp.
Chưa tính trường hợp "Không dự đoán: lấy mức người nộp cao nhất".
 

File đính kèm

Tôi không hiểu cách tính số quả sai như sau: (Những dòng có dấu hỏi)

Kết quả 1-0:

Dự đoán​
|
Nộp​
|
Số quả sai​
|
Ptm​
|
0-0| 25000 + 5000 =30.000|
1​
|
hiểu​
|
1-0| 0đ|
0​
|
hiểu​
|
0-2| 25000 + 5000 x 2 =35.000|
2​
|
???​
|
2-1| 5000 x 2 = 10.000đ|
2​
|
hiểu​
|

Kết quả 2-1:

Dự đoán​
|
Nộp​
|
Số quả sai​
|
Ptm​
|
0-0| 25000 + 5000 x 3 =40.000|
3​
|
hiểu​
|
1-0| 5000đ x 2 = 10.000đ|
2​
|
hiểu​
|
0-2| 25000 + 5000 x 3 =40.000đ|
3​
|
???​
|
2-1| 0đ|
0​
|
hiểu​
|
3-1| 5000đ x 3 =15.000đ|
3​
|
???​
|

Nếu số quả sai = tổng bàn thắng trong kết quả - tổng bàn thắng dự đoán thì còn hiểu được đôi chút. Hiểu là đang móc túi tất cả mọi người trừ người đoán đúng 100%, nhưng móc công bằng. Còn hơn là móc túi không công bằng.

Mà nếu vậy tôi có công thức rất ngắn. Trước tiên, đặt kết quả trong 2 ô E và F thay vì 1. Kế đến đặt 2 name: Trai = số quả dự đoán bên trái, Phai = Số quả dự đoán bên phải.

Thí dụ như sau là công bằng:
Nếu số quả sai = tổng bàn thắng trong kết quả - tổng bàn thắng dự đoán (đúng chính xác là đếm trái nộp tiền, đoán đúng thắng thua mà sai tỷ số cũng phải nộp, tỷ số đoán sai nhiều thì nộp nhiều):

G5 =IF(SIGN($E4-$F4)<>SIGN(Trai-Phai);25000;0)+ABS(($E4+$F4-Trai-Phai)*5000)

Nếu Số quả sai = hiệu thắng thua kết quả, trừ hiệu thắng thua dự đoán (thắng mà đoán thua hoặc ngược lại thì phải nộp nhiều hơn, so với đoán đúng thắng thua mà đoán sai hiệu số bàn thắng thua):

G5 =IF(SIGN($E4-$F4)<>SIGN(Trai-Phai);25000;0)+ABS(($E4-$F4)-(Trai-Phai))*5000
 

File đính kèm

Lần chỉnh sửa cuối:
Ch
Tôi không hiểu cách tính số quả sai như sau: (Những dòng có dấu hỏi)

Kết quả 1-0:


Dự đoán​
|
Nộp​
|
Số quả sai​
|
Ptm​
|

0-0| 25000 + 5000 =30.000|
1​
|
hiểu​
|

1-0| 0đ|
0​
|
hiểu​
|

0-2| 25000 + 5000 x 2 =35.000|
2​
|
???​
|

2-1| 5000 x 2 = 10.000đ|
2​
|
hiểu​
|

Kết quả 2-1:


Dự đoán​
|
Nộp​
|
Số quả sai​
|
Ptm​
|

0-0| 25000 + 5000 x 3 =40.000|
3​
|
hiểu​
|

1-0| 5000đ x 2 = 10.000đ|
2​
|
hiểu​
|

0-2| 25000 + 5000 x 3 =40.000đ|
3​
|
???​
|

2-1| 0đ|
0​
|
hiểu​
|

3-1| 5000đ x 3 =15.000đ|
3​
|
???​
|

Nếu số quả sai = tổng bàn thắng trong kết quả - tổng bàn thắng dự đoán thì còn hiểu được đôi chút. Hiểu là đang móc túi tất cả mọi người trừ người đoán đúng 100%, nhưng móc công bằng. Còn hơn là móc túi không công bằng.

Mà nếu vậy tôi có công thức rất ngắn. Trước tiên, đặt kết quả trong 2 ô E và F thay vì 1. Kế đến đặt 2 name: Trai = số quả dự đoán bên trái, Phai = Số quả dự đoán bên phải.

Thí dụ như sau là công bằng:
Nếu số quả sai = tổng bàn thắng trong kết quả - tổng bàn thắng dự đoán (đúng chính xác là đếm trái nộp tiền, đoán đúng thắng thua mà sai tỷ số cũng phải nộp, tỷ số đoán sai nhiều thì nộp nhiều):

G5 =IF(SIGN($E4-$F4)<>SIGN(Trai-Phai);25000;0)+ABS(($E4+$F4-Trai-Phai)*5000)

Nếu Số quả sai = hiệu thắng thua kết quả, trừ hiệu thắng thua dự đoán (thắng mà đoán thua hoặc ngược lại thì phải nộp nhiều hơn, so với đoán đúng thắng thua mà đoán sai hiệu số bàn thắng thua):

G5 =IF(SIGN($E4-$F4)<>SIGN(Trai-Phai);25000;0)+ABS(($E4-$F4)-(Trai-Phai))*5000

Chào bạn !
Trước tiên xin cảm ơn bạn đã quan tâm giúp mình giải quyết vướng mắc với CLB " tự phát" này.
Mình xin giải thích thêm:
- Đoán sai xu thế: 25000đ
- Đoán sai quả: 5000đ/quả
+ So với KQ trận đấu: Qui ước của CLB là:
KQTĐ: 1-0 -> Dự đoán: 0-2 (Sai xu thế: 25000đ + 5000 x 3 = 40.000đ)-> KQTĐ 1 - 0; Dự đoán: 0 - sai 1 quả; KQTĐ 1-0; Dự đoán 2 - sai 2 quả -> công lại đoán sai 3 quả x 5000đ= 15.000đ.
KQTĐ: 2-1: Dự đoán 0-2 cũng tương tự như trên: sai xu thế: 25000đ + 3 x 5000 = 40.000đ - > KQTĐ 2-1; Dự đoán 0- sai 2 quả; KQTĐ 2-1; Dự đoán 2 - sai 1 quả; công lại đoán sai 3 quả x 5000đ = 15000đ.
Đến đây chắc bạn đã hiểu cách tính của CLB của mình.
Xin nói thêm để bạn rõ là CLB "Tự phát" của mình mới được cấp tốc thành lập. Qui ước này mới tạm AD cho vòng đấu bảng, vào vòng sau sẽ điều chỉnh lại sao cho khi kết thúc World Cup sẽ tổng kết, "xả ga" và tặng quà lưu niệm (nếu kinh phí cho phép). Xin chào bạn. Thân ái !
 
Ch

Chào bạn !
Trước tiên xin cảm ơn bạn đã quan tâm giúp mình giải quyết vướng mắc với CLB " tự phát" này.
Mình xin giải thích thêm:
- Đoán sai xu thế: 25000đ
- Đoán sai quả: 5000đ/quả
+ So với KQ trận đấu: Qui ước của CLB là:
KQTĐ: 1-0 -> Dự đoán: 0-2 (Sai xu thế: 25000đ + 5000 x 3 = 40.000đ)-> KQTĐ 1 - 0; Dự đoán: 0 - sai 1 quả; KQTĐ 1-0; Dự đoán 2 - sai 2 quả -> công lại đoán sai 3 quả x 5000đ= 15.000đ.
KQTĐ: 2-1: Dự đoán 0-2 cũng tương tự như trên: sai xu thế: 25000đ + 3 x 5000 = 40.000đ - > KQTĐ 2-1; Dự đoán 0- sai 2 quả; KQTĐ 2-1; Dự đoán 2 - sai 1 quả; công lại đoán sai 3 quả x 5000đ = 15000đ.
Đến đây chắc bạn đã hiểu cách tính của CLB của mình.
Xin nói thêm để bạn rõ là CLB "Tự phát" của mình mới được cấp tốc thành lập. Qui ước này mới tạm AD cho vòng đấu bảng, vào vòng sau sẽ điều chỉnh lại sao cho khi kết thúc World Cup sẽ tổng kết, "xả ga" và tặng quà lưu niệm (nếu kinh phí cho phép). Xin chào bạn. Thân ái !
Thật tình tôi vẫn không hiểu lắm về cách tính "quả sai" này.

Theo những gì anh giải thích ở trên, thì tôi có thể hiểu tí tí:

* Kết quả là 2-1 (+1), nhưng dự đoán là 0-2 (-2), vậy số quả sai sẽ là +1 + (-2) = 3 quả.
* Kết quả là 1-0 (+1), nhưng dự đoán là 0-2 (-2), vậy số quả sai sẽ là +1 + (-2) = 3 quả.

Có phải như thế không ạ?

Nếu như thế, thì tại sao trong ví dụ 2 của anh ở trên, ở hàng cuối cùng, Kết quả là 2-1, dự đoán là 3-1, cũng là sai 3 quả, phiền anh giải thích giúp.
 
Bạn cứ theo công thức mẫu ở trên mà làm: Kết quả gồm 2 phần cộng lại:

- Phần thứ nhất là sai xu hướng: IF(SIGN($E4-$F4)<>SIGN(Trai-Phai);25000;0)

- Phần thứ 2 là số quả sai: ABS(($E4-$F4)-(Trai-Phai))*5000



Phần thứ nhất không có gì tranh cãi, bạn cứ dùng. Phần thứ 2, chỉ là cộng và trừ, bạn biến đổi theo ý thích, công bằng hay không thì tuỳ câu lạc bộ của bạn. Chỗ không công bằng chính là chỗ BNTT nói: kết quả là 2-1, dự đoán 3-1, chỉ sai 1 quả mà bị bắt nộp tiền 3 quả.

Thí dụ theo ý bạn thì:
số quả sai = (trái kết quả - trái dự đoán) + (phải kết quả - phải dự đoán), sẽ tính như sau:

phần 2: tiền nộp cho số quả sai công bằng = (ABS($E$4 - trai) + ABS($F$4 - phai)) * 5000

cộng thêm tiền bắt nộp thêm cho trường hợp BNTT chỉ ra:
+ IF(kq 3-1 & dđ 2-1, 10.000)
 
Lần chỉnh sửa cuối:
Thật tình tôi vẫn không hiểu lắm về cách tính "quả sai" này.
Xin "đính chính":
Kết quả: 2-1 -> dự đoán: 3-1 : sai 1 quả (trong bảng KQ: 2-1 dự đoán 3-1 sai 3 quả là bị nhầm).Sorry !

Theo những gì anh giải thích ở trên, thì tôi có thể hiểu tí tí:

* Kết quả là 2-1 (+1), nhưng dự đoán là 0-2 (-2), vậy số quả sai sẽ là +1 + (-2) = 3 quả.
* Kết quả là 1-0 (+1), nhưng dự đoán là 0-2 (-2), vậy số quả sai sẽ là +1 + (-2) = 3 quả.

Có phải như thế không ạ?

Nếu như thế, thì tại sao trong ví dụ 2 của anh ở trên, ở hàng cuối cùng, Kết quả là 2-1, dự đoán là 3-1, cũng là sai 3 quả, phiền anh giải thích giúp.
Xin "đính chính":
KQ: 2-1 - dự đoán 3-1: sai 1 quả (trong bảng: KQ 2-1 dự đoán 3-1 -sai 3 quả -bị nhầm) sorry !
 
Chào bạn !
Mình đã AD công thức của bạn thấy hơi dài nhưng chắng đáng ngại, có điều còn sai ở chỗ: KQTĐ 1-0 dự đoán 0-1-> nộp tiền là: 30.000đ thì công thức là: 35.000đ - bạn kiểm tra lại hộ mình nhé. Cảm ơn bạn !
 
Mình đã AD công thức của bạn thấy hơi dài nhưng chắng đáng ngại, có điều còn sai ở chỗ: KQTĐ 1-0 dự đoán 0-1-> nộp tiền là: 30.000đ thì công thức là: 35.000đ - bạn kiểm tra lại hộ mình nhé. Cảm ơn bạn !

1. Tôi không biết bạn đang nói công thức của ai, của tôi hay của Lypt. Nếu so với công thức của Lypt:
=IF($E4="";0;IF(OR((VALUE(LEFT(G4;FIND("-";G4)-1))-VALUE(RIGHT(G4;LEN(G4)-FIND("-";G4))))*$V4>0;AND((VALUE(LEFT(G4;FIND("-";G4)-1))-VALUE(RIGHT(G4;LEN(G4)-FIND("-";G4))))=0;$V4=0));0;25000)+(ABS(VALUE(LEFT(G4;FIND("-";G4)-1))-VALUE(LEFT($E4;FIND("-";$E4)-1)))+ABS(VALUE(RIGHT(G4;LEN(G4)-FIND("-";G4)))-VALUE(RIGHT($E4;LEN($E4)-FIND("-";$E4)))))*5000)

thì công thức của tôi có gọi là dài?

2. Tôi vẫn không hiểu: Tại sao KQTĐ 1-0, dự đoán 0-1 lại là sai 1 quả?

- Nếu tính tổng bàn thắng: (1 + 0) - (0 + 1) = 0
- Nếu tính hiệu thắng thua trừ hiệu thắng thua: (1 - 0) - (0 - 1) = 2
- Nếu tính hiệu đội này và hiệu đội kia: (1 - 0) - (0 - 1) = 2

Sở dĩ tôi đề ra 3 cách tính vì trong các thí dụ của bạn nó có những chỗ khác nhau không hiểu được. Lúc thì tính cách 1, lúc thì tính cách 2, còn cách 3 là bạn mới giảithích gần đây. Bây giờ lòi ra thí dụ mới này nữa.
 
Lần chỉnh sửa cuối:
Bạn thử xài hàm tự tạo sau

PHP:
Option Explicit
Function TienNop(DuDoan As String, Thuc As String)
 Const GN As String = "-"
 Dim SBT1 As Integer, SBT2 As Integer, SBD1 As Integer, SBD2 As Integer
 Dim VTrT As Integer, VTrD As Integer
 
 VTrT = InStr(Thuc, GN):            VTrD = InStr(DuDoan, GN)
 SBT1 = CInt((Left(Thuc, VTrT - 1)))
 SBT2 = CInt((Mid(Thuc, VTrT + 1, 2)))
 SBD1 = CInt((Left(DuDoan, VTrD - 1)))
 SBD2 = CInt((Mid(DuDoan, VTrD + 1, 2)))
 If (SBT1 > SBT2 And ((SBD1 = SBD2) Or (SBD1 < SBD2))) Or _
   (SBT1 = SBT2 And ((SBD1 > SBD2) Or (SBD1 < SBD2))) Or _
   (SBT1 < SBT2 And ((SBD1 = SBD2) Or (SBD1 > SBD2))) Then
   TienNop = TienNop + 25000
 End If
 TienNop = TienNop + Abs(SBT1 - SBD1) * 5000 + Abs(SBT2 - SBD2) * 5000
End Function

(Theo file của bạn LYPT )
 

File đính kèm

Web KT

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

Back
Top Bottom