Xin các thầy chỉ giúp em với. Em cần tính khoảng cách xuất hiện giữa các hàng.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tst12346

Thành viên mới
Tham gia
20/11/08
Bài viết
12
Được thích
4
E có 1 bảng như hình. Em muốn tính khoảng cách xuất hiện giữa các ô chứa số 1. Tức là a2 =1 đến b6=1 vậy là cách nhau 3 hàng. Từ b6 đến c8= 1 vậy là cách nhau 1 hàng. Nếu em nhập tiếp mà xuất hiện 1 thì sẽ tự động trừ hàng gần nhất xuất hiện 1. Em cảm ơn ạ.
 

File đính kèm

  • IMG_20230624_005204.jpg
    IMG_20230624_005204.jpg
    143 KB · Đọc: 41
E có 1 bảng như hình. Em muốn tính khoảng cách xuất hiện giữa các ô chứa số 1. Tức là a2 =1 đến b6=1 vậy là cách nhau 3 hàng. Từ b6 đến c8= 1 vậy là cách nhau 1 hàng. Nếu em nhập tiếp mà xuất hiện 1 thì sẽ tự động trừ hàng gần nhất xuất hiện 1. Em cảm ơn ạ.
Tham gia từ 2008 mà cái cơ bản cũng sai:
1. Tiêu đề bài viết chung chung
2. Không upload file lên để tiện hỗ trợ
3. Giờ công cụ chụp màn hình thiếu gì mà phải chụp chất lượng kém thế kia
 
Dạ tham gia lâu rồi nhưng hôm nay em mới bị bắt làm tới excel mà lại khó quá. File ảnh em up lên là minh hoạ cho câu hỏi em cần giúp thôi chứ em chưa làm dc j ạ.
 
Dạ tham gia lâu rồi nhưng hôm nay em mới bị bắt làm tới excel mà lại khó quá. File ảnh em up lên là minh hoạ cho câu hỏi em cần giúp thôi chứ em chưa làm dc j ạ.
Trong lúc chờ giải pháp ưu việt, bạn dùng tạm cách củ chuối này:
Dùng cột phụ E:
Mã:
E1=IF(COUNTIF(A1:C1,1)>0,1,0)
kéo xuống

Cột G để đếm:
Mã:
G1=IFERROR(SMALL(IF($E$1:$E$15=1, MATCH(ROW($E$1:$E$15), ROW($E$1:$E$15)), ""), ROW(A1)+1)-SMALL(IF($E$1:$E$15=1, MATCH(ROW($E$1:$E$15), ROW($E$1:$E$15)), ""), ROW(A1))-1,"")
ấn Ctrl+Shift+Enter
kéo xuống
 

File đính kèm

Nếu bảng dữ liệu như phần bên trái của ảnh, thì kết quả tìm ra các dòng chứa số 1 là phần bên phải (Hình)

000
100Tìm Ra Dòng
0002
0006
0008
01029
00013
001
10
000
000
000
01

Nếu ta chuyển con số 2 thành số 1 thì kết quả sẽ là

000
100Tìm Ra Dòng
0002
0006
0006
01018
0009
00113
10
000
000
000
01

PHP:
Sub TimKhoangCach()
 Dim Rng As Range, sRng As Range
 Dim MyAdd As String:               Dim W As Long
 
 Set Rng = [B2].CurrentRegion
 W = Rng.Rows.Count + Rng.Columns.Count
 ReDim Arr(1 To W, 1 To 1)
 [J2].Resize(W, 3).Value = ""
 Set sRng = Rng.Find(1, , xlFormulas, xlWhole)
 W = 1:                         Arr(W, 1) = "Tìm Ra Dòng"
 If sRng Is Nothing Then
 Else
    MyAdd = sRng.Address
    Do
        W = W + 1:                  Arr(W, 1) = sRng.Row
        Set sRng = Rng.FindNext(sRng)
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
 End If
 If W Then
    [k2].Resize(W).Value = Arr()
 End If
End Sub
 
Dạ cảm ơn các thầy để em thử
 
Có thể thử nhé bạn
Mã:
=SUM(SMALL(IF(SUBTOTAL(9;OFFSET($A$1:$C$1;ROW($A$1:$A$13)-1;0))=1;ROW($A$1:$A$13);"");ROW(A1:A2))*{-1;1})-1
Ctrl shift enter
 
E có 1 bảng như hình. Em muốn tính khoảng cách xuất hiện giữa các ô chứa số 1. Tức là a2 =1 đến b6=1 vậy là cách nhau 3 hàng. Từ b6 đến c8= 1 vậy là cách nhau 1 hàng. Nếu em nhập tiếp mà xuất hiện 1 thì sẽ tự động trừ hàng gần nhất xuất hiện 1. Em cảm ơn ạ.
Mượn file ở bài #4, bài này khá hợp lý khi dùng phép nhân ma trận:
Mã:
=SUM(AGGREGATE(15,6,MMULT($A$1:$C$13,{1;1;1})^0*ROW($A$1:$A$13),{0,1}+ROW(A1))*{-1,1})-1
 
Web KT

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

Back
Top Bottom