Tìm 1 số nằm trong 1 chuổi số bằng công thức nào đây?

Liên hệ QC

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,912
Tôi giả sử cột A tôi có các số sau:
A1 = 12345
A2 = 1234
A3 = 11
A4 = 152
A5 = 12679
vân.. vân...
Thế thì tôi muốn biết những cell nào có số bắt đầu bằng 12 thì dùng công thức gì? Đại khái phát hiện nó nằm ở vị trí thứ mấy trong bảng
Thử với MATCH và COUNTIF thì thua rồi... Có cảm giác như cái mà nó đang tìm là chuổi chứ ko phải là số ???
Loay hoay mãi, tưởng dễ mà ko dễ tí nào
Các bạn giúp dùm 1 tay nha!
ANH TUẤN
 
Sumproduct((left(...)=...)*(row())) kết hợp countif
Hay là công thức sau:
=IF(ISNA(MATCH(LEFT($A2,2),{"12"},0)),"",ROW($A2))
 
Lần chỉnh sửa cuối:
Hay... ăn tiền nhất là chổ {}... Cám ơn ThuNghi nhé!
ANH TUẤN
 
- Bác xem cái này thử đi.

- Khó sử, khó sử không biết nên kêu bác anhtuan1066 nhà ta là gì, kêu = chú thì sợ phản đối (cui âu zdà dử ậy), nhưng kêu bằng anh thì thấy mình còn "xì trum" quá kêu vậy hơi "kỳ kỳ", theo bác nên gọi là gì, gợi ý có thưởng !!!
Phần thưởng như sau, nếu lần sau gặp mặt:
cụng lần 1 bác ly đầy em ly đầy
cụng lần 2 bác 2 ly em ly chia 2
cụng lần 3 bác 3 ly em ly chia 3
....
Lim( ly bác, ly em) = bác xĩu + em tỉnh . --=0 bài này quá hay
ly-> vô cực
 

File đính kèm

Lần chỉnh sửa cuối:
Ái dà... Vụ này chú Trí làm gần đúng đến 99% ý tôi đấy! Chỉ chưa đúng ở 1 chổ là ko dc tổng quát lắm... Vì có khi tôi cần tìm số khác thì sao? (nói chung vẩn là số có 2 chử số)... thế chẳng lẻ mỗi lần muốn tìm số khác lại sửa code?
Tôi nghĩ món này chú sửa 1 tí nữa là đúng 100% ý tôi đấy
Đầu tiên là tôi gõ vào 1 cell nào đó cái số mà tôi muốn yêu cầu... chạy macro (hoặc khỏi chạy, tự động luôn), nó sẽ liệt kê ra ko phải là địa chỉ cell mà là nội dung của cell đó... Giống như file chú vừa làm, tuy nhiên thay vì xuất ra A1 thì xuất luôn 12345 càng tốt... trong này có 5 cell trùng yêu cầu..vậy cũng xuất ra luôn nội dung của 5 cell đó
Chú ý có thể mảng cần tìm nằm bên sheet khác nha! Nói chung là vùng mà tôi cần tìm tôi sẽ đặt Name trước cho nó, chẳng hạn là DS... cứ dựa vào mảng DS mà tìm
Nói riêng 1 chút: CHUNG BÀN NHẬU LÀ ANH EM TUỐT, ĐÚNG KO? Ha.. ha.. ha..
 
Lần chỉnh sửa cuối:
- Bác có thể tuỳ biến theo ý, em đã giải thích code, tải file tại post 4 !
Mã:
Sub TimSo()
Dim i, j, k, tmp: i = 1: k = 1
[COLOR=green]' Trước khi làm xoá cột C[/COLOR]
Range("C:C").ClearContents
Do
 [COLOR=green] ' Nếu cột A dòng i = rỗng thoát[/COLOR]
  If Cells(i, 1) = "" Then
     Exit Do
  Else
     [COLOR=green]' Cột A dòng i khác rỗng làm[/COLOR]
     [COLOR=green]'Vòng For để cắt chuỗi[/COLOR]
     For j = 1 To 12
     [COLOR=green]'Biến giá trị Cells(i,1) thành String và cắt Leng ký tự[/COLOR]
     tmp = CStr(Left(Cells(i, 1), j))
    [COLOR=green] ' Khi chuỗi cắt = Cells(i,1)  thì thoát For[/COLOR]
     If tmp = CStr(Cells(i, 1)) Then
         Exit For
      Else
        [COLOR=green] ' Nếu chuỗi cắt trùng với ô B1 thì in qua dòng k cột 3[/COLOR]
         If tmp = CStr(Cells(1, 2)) Then
            Cells(k, 3) = Cells(i, 1)
            [COLOR=green]' Sau khi in tăng k lên 1[/COLOR]
            k = k + 1
         End If
      End If
     Next j
  End If
i = i + 1
Loop
End Sub
 
Lần chỉnh sửa cuối:
Cám ơn Trí!
Giờ thử tiếp 1 chiêu khác nữa nha!
Giả sử tại cột A tôi có
A1= AAA
A2= AAB
A3 = AAC
vân vân... khoảng 100 cell
Và cột A này dc xem là dử liệu chuẩn (ko thay đổi)
Ở cột B cũng với những dử liệu trích ra từ cột A nhưng dc sắp xếp lộn xộn, có cái trùng nhau hoặc ko trùng...
Vậy thì dựa vào dử liệu chuẩn cột A, tôi muốn biết trong cột B này có dử liệu nào chưa xuất hiện ko?.. Cái này chưa xuất hiện thì liệt kê ra, mỗi cái 1 cell... Nếu có thể làm dc mà ko cần đến VBA thì càng hay...
Nói thật cái này tôi đang làm giùm cho 1 bạn... vì trình độ bạn ấy có hạn nên e rằng nếu dùng VBA thì bạn ấy sẽ ko hiểu!
Cám ơn nhiều!
ANH TUẤN
 
Anh Tuấn thử xem cách làm này có được không? Hiện vẫn chưa nghĩ ra cách loại các dòng trống bằng hàm.

TP.
 

File đính kèm

Cách này cũng hay... nhưng nêu muốn chúng liệt kê ra và sắp xếp nằm cạnh nhau thì chắc phải thêm 1 cột phụ nữa nhỉ?
ANH TUẤN
 
Thêm cột phụ cho khỏe,
- Cột phụ 1 dùng if(countif >0,1,"")
- Cột phụ 2: match(1,...,0)
- Cột phụ 3: Index
 
Cám ơn ttphong2007 và ThuNghi...
Thật ra những câu hỏi này có liên quan đến bài viết mà tôi vừa đăng.. Mời các bạn vào topic "THEO DỎI KẾT QUẢ XỔ SỐ" trong Box này và góp ý giùm tôi nha!
Cám ơn các bạn
ANH TUẤN
 
Bạn dùng hàm Left trong Format Conditional chọn mầu là nhìn thấy ngay. Nếu cần cũng có thể lập công thức tính có ? số thỏa mãn ĐK tìm của Bạn.__--__
 
Lần chỉnh sửa cuối:
Mình có việc gần như vậy mà không biết cách làm nhờ anh em cao thủ chỉ giúp:
dữ liệu là cột chứa số hóa đơn, do có nhiều mặt hàng trong 1 hóa đơn nên số HD đó lăp lại theo dòng ghi hàng hoá
khi báo cáo chỉ cần lấy số HĐ duy nhất
thí dụ: cột A có 123; 123;124;125;125;125;126;126;126;126
làm sao để lấy ra : 123; 124; 125; 126 ???
rất mong anh chị chỉ dùm; xin cảm ơn
 
binhkrb đã viết:
thí dụ: cột A có 123; 123;124;125;125;125;126;126;126;126
làm sao để lấy ra : 123; 124; 125; 126 ???

Bạn chọn cột A , vao menu Data/Advance Filter, danh dau muc copy to another location, chọn nơi mà bạn muốn copy đến, đánh dấu mục Unique Records Only. OK.

Thân.
 
ThuNghi đã viết:
Sumproduct((left(...)=...)*(row())) kết hợp countif
Hay là công thức sau:
=IF(ISNA(MATCH(LEFT($A2,2),{"12"},0)),"",ROW($A2))

Sao lại phải dùng hàm row bác nhỉ ??
=SUMPRODUCT((LEFT(TEXT($A$1:$A$5;"0");2)="12")*(1))

Còn hàm dưới thì em không hiểu nó để làm gì cả ???

Thân!
 
Web KT

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

Back
Top Bottom