Tính toán giá trị biến đổi theo cột

Liên hệ QC

phangtuyet

Thành viên mới
Tham gia
14/3/12
Bài viết
7
Được thích
3
Em xin chào tất cả các anh (chị) trên diễn đàn GPE. Hiện tại em có một vấn đề nghĩ mãi vẫn chưa thể đưa ra được kết quả bằng công thức hoặc viết một Function VBA.
Cụ thể: Em có dữ liệu nhập vào trong vùng E8:N12 và Tại F8: N8 nhập điều kiện biên là các số và có "NONE" hoặc không có NONE mà chỉ có các số.
Kết quả mong muốn: Tính toán kết quả tại F13: N13 và F14: N14
Ví dụ: Trong trường hợp F8: N8 nhập toàn số mà không có NONE thì được kết quả ví dụ như bảng F16:N22.
Chi tiết em gửi file như đính kèm nhờ cả nhà giúp đỡ ạ. Em chân thành cảm ơn!
 

File đính kèm

  • Cv.xls
    31.5 KB · Đọc: 14
Lần chỉnh sửa cuối:
Các bác xem giúp em với ạ!
}}}}}}}}}}}}}}}
Bạn thử cái này, làm ở sheet Data, nhập hoặc xoá NONE rồi bấm vào con mèo
"NONE" nằm hàng 16, chỉ được xuất hiện 1 lần, hơn nữa tui..."tèo"
Hên xui nhé, trúng thì tốt, trật nhờ các bạn khác làm nhé
Thân
 

File đính kèm

  • Cv.xlsm
    45.5 KB · Đọc: 7
Upvote 0
Bạn thử cái này, làm ở sheet Data, nhập hoặc xoá NONE rồi bấm vào con mèo
"NONE" nằm hàng 16, chỉ được xuất hiện 1 lần, hơn nữa tui..."tèo"
Hên xui nhé, trúng thì tốt, trật nhờ các bạn khác làm nhé
Thân
Cháu cảm ơn bác nhiều. Bác đã làm chuẩn trường hợp khi dãy chỉ xuất hiện 1 lần NONE rồi ạ. Nhưng khi xuất hiện hai lần trở lên thì đang chưa giải quyết được. Cháu lại chờ tiếp ạ!
 

File đính kèm

  • GPE.jpg
    GPE.jpg
    102.8 KB · Đọc: 13
Upvote 0
Hàng ngày vẫn lên xem chủ đề hi vọng có bác ghế qua xem chủ đề mà vẫn chưa bắt gặp. Hix!(@$%@
 
Upvote 0
Chắc là mọi người không hiểu hết những gì bạn viết, nên đành chịu.
 
Upvote 0
Hàng ngày vẫn lên xem chủ đề hi vọng có bác ghế qua xem chủ đề mà vẫn chưa bắt gặp. Hix!(@$%@
Hôm qua Việt Nam thua, buồn quá nên chơi 3 lon, suy nghĩ bài giải "hổng" có ra
Hỏi bạn cái này, thí dụ file trong bài #3, dòng đầu là [F16:N16] thì:
1) Thằng NONE có xuất hiện ở đầu dòng không ( [F16]) ?
2) Thằng NONE có xuất hiện ở cuối dòng không ( [N16]) ?
3) Có 2 thằng NONE xuất hiện kế nhau hông ( cái này mà có là.....bỏ chạy luôn)
Dữ liệu thật có bao nhiêu cột?
Hỏi thôi chứ chưa chắc làm được, bài này hại não lắm, Híc
Thân
 
Upvote 0
Hôm qua Việt Nam thua, buồn quá nên chơi 3 lon, suy nghĩ bài giải "hổng" có ra
Hỏi bạn cái này, thí dụ file trong bài #3, dòng đầu là [F16:N16] thì:
1) Thằng NONE có xuất hiện ở đầu dòng không ( [F16]) ?
2) Thằng NONE có xuất hiện ở cuối dòng không ( [N16]) ?
3) Có 2 thằng NONE xuất hiện kế nhau hông ( cái này mà có là.....bỏ chạy luôn)
Dữ liệu thật có bao nhiêu cột?
Hỏi thôi chứ chưa chắc làm được, bài này hại não lắm, Híc
Thân
Dạ con xin trả lời mấy câu bác hỏi như sau:
1) Thằng NONE có xuất hiện ở đầu dòng không ( [F16]) ? -> Dạ có bác ạ
2) Thằng NONE có xuất hiện ở cuối dòng không ( [N16]) ? --> Nếu trường hợp NONE cuối dòng mà khó quá thì bỏ qua cũng được bác ạ. Con sẽ khống chế đầu vào.
3) Có 2 thằng NONE xuất hiện kế nhau hông ( cái này mà có là.....bỏ chạy luôn) --> Thực tế thì vẫn có hai thằng NONE kề nhau. Nhưng nếu khó quá thì con sẽ khống chế đầu vào yêu cầu chỉ có 1 NONE cũng được bác ạ.
Dữ liệu thật có bao nhiêu cột? - Số cột dữ liệu thì tối đa là số cột con đã kẻ trong bảng ạ (9 cột ạ).
Con nghĩ mãi vẫn chưa viết được ra các Function ra kết quả như móng muốn ạ. Mong các bác ghé qua giúp con!
Bài đã được tự động gộp:

Xin sửa lại file ví dụ như đính kèm ạ,
Chân thành cảm ơn!
 

File đính kèm

  • Cv.xls
    33.5 KB · Đọc: 3
Lần chỉnh sửa cuối:
Upvote 0
Dạ con xin trả lời mấy câu bác hỏi như sau:
1) Thằng NONE có xuất hiện ở đầu dòng không ( [F16]) ? -> Dạ có bác ạ
2) Thằng NONE có xuất hiện ở cuối dòng không ( [N16]) ? --> Nếu trường hợp NONE cuối dòng mà khó quá thì bỏ qua cũng được bác ạ. Con sẽ khống chế đầu vào.
3) Có 2 thằng NONE xuất hiện kế nhau hông ( cái này mà có là.....bỏ chạy luôn) --> Thực tế thì vẫn có hai thằng NONE kề nhau. Nhưng nếu khó quá thì con sẽ khống chế đầu vào yêu cầu chỉ có 1 NONE cũng được bác ạ.
Dữ liệu thật có bao nhiêu cột? - Số cột dữ liệu thì tối đa là số cột con đã kẻ trong bảng ạ (9 cột ạ).
Con nghĩ mãi vẫn chưa viết được ra các Function ra kết quả như móng muốn ạ. Mong các bác ghé qua giúp con!
Bài đã được tự động gộp:

Xin sửa lại file ví dụ như đính kèm ạ,
Chân thành cảm ơn!
Dùng function Ketqua cho 2 dòng
Dòng 1
Mã:
F13 =KetQua($F$8:$N$11,F8,1)
Dòng 2
Mã:
F14 =KetQua($F$8:$N$11,F8,2)
Mã:
Function KetQua(ByVal rng As Range, ByVal rngCol As Range, Optional ByVal iR& = 1)
  Dim jCol&, j&, t#, H#
  If UCase(rngCol.Value) = "NONE" Then
    KetQua = "NONE"
  Else
    jCol = rngCol.Column - rng.Column + 1
    For j = 1 To rng.Columns.Count
      If UCase(rng(1, j)) = "NONE" Then
        If j < jCol Then t = 0: H = 0 Else Exit For
      Else
        t = t + rng(3, j)
        If rng(4, j) <> Empty Then H = H + rng(4, j)
      End If
    Next j
    If iR = 1 Then KetQua = t Else KetQua = (t * 100) ^ 2 / H
  End If
End Function
 

File đính kèm

  • Cv.xls
    53.5 KB · Đọc: 4
Upvote 0
Dùng function Ketqua cho 2 dòng
Dòng 1
Mã:
F13 =KetQua($F$8:$N$11,F8,1)
Dòng 2
Mã:
F14 =KetQua($F$8:$N$11,F8,2)
Mã:
Function KetQua(ByVal rng As Range, ByVal rngCol As Range, Optional ByVal iR& = 1)
  Dim jCol&, j&, t#, H#
  If UCase(rngCol.Value) = "NONE" Then
    KetQua = "NONE"
  Else
    jCol = rngCol.Column - rng.Column + 1
    For j = 1 To rng.Columns.Count
      If UCase(rng(1, j)) = "NONE" Then
        If j < jCol Then t = 0: H = 0 Else Exit For
      Else
        t = t + rng(3, j)
        If rng(4, j) <> Empty Then H = H + rng(4, j)
      End If
    Next j
    If iR = 1 Then KetQua = t Else KetQua = (t * 100) ^ 2 / H
  End If
End Function
Híc, mình cứ nghĩ kết quả phải thể hiện công thức như trong bài, vừa làm xong, đang tính hỏi bạn í. May quá, có bạn trả lời rồi
Thân
 
Upvote 0
Dùng function Ketqua cho 2 dòng
Dòng 1
Mã:
F13 =KetQua($F$8:$N$11,F8,1)
Dòng 2
Mã:
F14 =KetQua($F$8:$N$11,F8,2)
Mã:
Function KetQua(ByVal rng As Range, ByVal rngCol As Range, Optional ByVal iR& = 1)
  Dim jCol&, j&, t#, H#
  If UCase(rngCol.Value) = "NONE" Then
    KetQua = "NONE"
  Else
    jCol = rngCol.Column - rng.Column + 1
    For j = 1 To rng.Columns.Count
      If UCase(rng(1, j)) = "NONE" Then
        If j < jCol Then t = 0: H = 0 Else Exit For
      Else
        t = t + rng(3, j)
        If rng(4, j) <> Empty Then H = H + rng(4, j)
      End If
    Next j
    If iR = 1 Then KetQua = t Else KetQua = (t * 100) ^ 2 / H
  End If
End Function
Chân thành cảm ơn bác đã giúp em được Function đúng ý ạ!
Bài đã được tự động gộp:

Híc, mình cứ nghĩ kết quả phải thể hiện công thức như trong bài, vừa làm xong, đang tính hỏi bạn í. May quá, có bạn trả lời rồi
Thân
Cháu xin lỗi vì đã mô tả chưa rõ ý ạ. Cháu cảm ơn bác rất nhiều!
 
Upvote 0
Web KT
Back
Top Bottom