Xác định số thứ tự của phần tử trong 1 mảng

  • Thread starter Thread starter anjhan
  • Ngày gửi Ngày gửi
Liên hệ QC
Vậy để mình up file. Sorry bạn

Tức là lấy tổng số kí tự ô thứ nhất nhân 7, tổng số kí tự ô thứ 2 nhân 6,… Mình nghĩ là lại phải tạo một mảng mới gồm tổng số kí tự thay vì giá trị

Cũng đang vọc chút về mảng mẽo cho vui, cái mảng mẻo này đúng là phức tạp hơn.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Tức là lấy tổng số kí tự ô thứ nhất nhân 7, tổng số kí tự ô thứ 2 nhân 6,… Mình nghĩ là lại phải tạo một mảng mới gồm tổng số kí tự thay vì giá trị

Quất đại đi!

Mã:
Function RacRoiQua(ByVal OneCell_Or_OneString As Variant) As Double
    Dim NumInStr As String
    Dim r As Long, i As Long, LenStr As Long
    NumInStr = Val(Trim(OneCell_Or_OneString))
    If NumInStr = "" Then Exit Function
    LenStr = Len(NumInStr)
    For i = LenStr To 1 Step -1
        r = r + 1
        RacRoiQua = RacRoiQua + Val(Mid(NumInStr, i, 1)) * r
    Next
End Function

Cách sử dụng:

1) Với 1 cell: Giả sử cell A1 có giá trị: 12345678

Công thức: =RacRoiQua(A1)

2) Với một chuỗi là 12345678

Công thức: =RacRoiQua("12345678")


Không biết có đúng ý bạn không!
 
Không phải bạn, bạn hiểu lầm ý mình rồi. Chẳng hạn có 8 ô dữ liệu. Mình sẽ lấy số kí tự của các ô nhân với số thứ tự giảm dần. Ví dụ ô 1 có 5 kí tự, ô 2 có 6 kí tự thì công thức sẽ là CT = 5.8 + 6.7 + ....
 
Lần chỉnh sửa cuối:
Không phải bạn, bạn hiểu lầm ý mình rồi. Chẳng hạn có 8 ô dữ liệu. Mình sẽ lấy số kí tự của các ô nhân với số thứ tự giảm dần. Ví dụ ô 1 có 5 kí tự, ô 2 nhân với 6 kí tự thì CT = 5.8 + 6.7 + ....
Trong cái file của bạn tôi đọc mà cũng chả hiểu gì cả? Bạn diễn giải khó hiểu thiệt!

Trong cái comments bạn ghi 6*6 mà tôi chả thấy số nào là số 6 trong vùng dữ liệu, đã ví dụ thì cũng ví dụ cho đàng hoàng một chút chứ!
 
Lần chỉnh sửa cuối:
Có gì khó hiểu đâu bạn. Thay vì lấy giá trị thì h mình lấy số kí tự trong ô đó.
 
Có gì khó hiểu đâu bạn. Thay vì lấy giá trị thì h mình lấy số kí tự trong ô đó.

Trong bài này tôi có nói (màu đỏ)

Trong cái file của bạn tôi đọc mà cũng chả hiểu gì cả? Bạn diễn giải khó hiểu thiệt!

Trong cái comments bạn ghi 6*6 mà tôi chả thấy số nào là số 6 trong vùng dữ liệu, đã ví dụ thì cũng ví dụ cho đàng hoàng một chút chứ!
 
Mình up lại file cho bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Mình up lại file cho bạn.
Hơi bị oải với mấy cái thí dụ ...
PHP:
Public Function GPE(Rng As Range) As Long
Dim Cll As Range, R As Long, L As Long
R = Rng.Rows.Count
For Each Cll In Rng
    L = Len(Cll)
    GPE = GPE + L * R
    R = R - 1
Next Cll
End Function
PHP:
Public Function GPEx(Rng As Range) As Double
Dim Arr(), I As Long, R As Long, L As Long
Arr = Rng.Value
R = UBound(Arr, 1)
For I = 1 To R
    L = Len(Arr(I, 1))
    GPEx = GPEx + L * R
    R = R - 1
Next I
End Function
 
Lần chỉnh sửa cuối:
Phá tui hoài vậy ta?
Function người đặt tên là GPE, tự nhiên sửa của người ta thành GPE1 trùng tên với ô GPE1 (cột 5153) trong Excel 2010???
Híc!
Replace GPE thành PhaTuiHoai

Mã:
Public Function PhaTuiHoai2(Rng As Range) As Double
Dim Arr(), i As Long, r As Long
Arr = Rng.Value
r = UBound(Arr, 1)
For i = 1 To r
    PhaTuiHoai2 = PhaTuiHoai2 + Arr(i, 1) * r
    r = r - 1
Next i
End Function

Trong trường hợp 2 nếu Rng là 1 cell duy nhất thì phát sinh lỗi đấy nhé anh iu!
 
Suy nghĩ mãi cũng hổng biết bài này ứng dụng vào cái gì?
Nếu chỉ để nghiên cứu chơi về mảng thì mấy chú tác giả cũng... rảnh thật (rảnh mới nghĩ ra được cái ví dụ không giống ai)
 
Trong cái file của bạn tôi đọc mà cũng chả hiểu gì cả? Bạn diễn giải khó hiểu thiệt!

Trong cái comments bạn ghi 6*6 mà tôi chả thấy số nào là số 6 trong vùng dữ liệu, đã ví dụ thì cũng ví dụ cho đàng hoàng một chút chứ!

Bạn đọc không kỹ lại trách người ta.
Trong tập tin chủ chủ đề không giải thích rõ. Lỗi này cả bạn và tôi đều nhìn thấy, không ai phủ nhận điều này.

Nhưng trong bài #23 chủ chủ đề đã giải thích mà

Mình sẽ lấy số kí tự của các ô nhân với số thứ tự giảm dần. Ví dụ ô 1 có 5 kí tự, ô 2 có 6 kí tự thì công thức sẽ là CT = 5.8 + 6.7 + ....

Mà D6 = 184378. Rõ ràng LEN(D6) = 6
-------------
Về góp ý, trách cứ thì tôi cũng từng, thậm chí thường xuyên.
Nhưng chỗ nào người ta sai, chưa cụ thể thì mới góp ý chứ. Sau bài #23 mà trách cứ người ta thì là mình sai.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom