Chuyển giá trị của hàm MATCH thành địa chỉ để tìm kiếm

Liên hệ QC

Tun_Nhim

Thành viên mới
Tham gia
11/7/10
Bài viết
10
Được thích
0
Chuyển giá trị của hàm ADDRESS thành địa chỉ để tìm kiếm

Xin nhờ các ACE giúp, mình có dùng hàm ADDRESS và cho ra kết quả địa chỉ của một ô là 'Sheet 1'!$C$2. Nhưng khi dùng giá trị này vào công thức LOOKUP thì nó báo lỗi #N/A! vì hình như giá trị này là giá trị kiểu chuỗi (text) nên công thức LOOKUP không hiểu đó là địa chỉ của một ô. Vì khi nhập công thức thì trong hộp thoại của công thức LOOKUP nó chuyển giá trị đó thành "'Sheet 1'!$C$2".

Mình tìm mãi không ra hàm nào để chuyển cái chuỗi đó thành địa chỉ ô cho các công thức khác nó hiểu.

Các ACE có cách nào thì giúp với.
 
Lần chỉnh sửa cuối:
Dùng Indirect lồng ra ngoài nhé,
= Indirect(Address(...))
 
Dùng Indirect lồng ra ngoài nhé,
= Indirect(Address(...))

Cảm ơn bạn. Tuy nhiên mình muốn lấy giá trị Sheet 1!$C$2 để đưa vào hàm =COUNTIF(OFFSET(Sheet 1!$C$2,1,0,100,1),"X") thì bị báo lỗi #VALUE!. Khi mình dùng tính năng "Show Calculation Steps..." để xem lỗi xảy ra là gì thì thấy công thức lại là = COUNTIF(OFFSET("Sheet 1!$C$2",1,0,100,1),"X") nên có thể giá trị Sheet 1!$C$2 đã bị hàm OFFSET hiểu đó là một chuỗi ký tự chứ không phải là địa chỉ ô $C$2 trong Sheet 1. Vì thế nó mới chuyển thành "Sheet 1!$C$2".

Hàm ADDRESS mình xử dụng là: =ADDRESS(2,MATCH('Sheet 2'!D$3,Sheest 1!$A$2:$F$2,0),1,1,"Sheet 1")). Cụ thể, tìm giá trị D$3 ở Sheet 2 trong chuỗi các dữ liệu ở trong dòng $A$2:$F$2 ở Sheet 1 rồi lấy địa chỉ của ô nằm trong khoảng $A$2:$F$2 có chứa giá trị tương ứng với ô D$3 nằm trong Sheet 1.

Lồng các hàm với nhau là =COUNTIF(OFFSET(ADDRESS(2,MATCH('Sheet 2'!D$3,Sheest 1!$A$2:$F$2,0),1,1,"Sheet 1")),1,0,100,1),"X")

Bạn xem giúp mình cách nào xử lý với.
 
Lần chỉnh sửa cuối:
"sheet 1" có 1 khoảng trắng nên nó không chịu là phải, nếu 'sheet 1'!$C$2 thì được.
Ngoài ra, theo bạn nói, 'Sheet 1'!$C$2 có được từ hàm Address, tại sao bạn không làm như tôi nói: Indirect(Address())
Còn nếu không phải vậy, thì bạn phải đưa côngthức đầy đủ lên để giải quyết 1 lần.

=COUNTIF(OFFSET(INDIRECT(ADDRESS(2,MATCH('Sheet 2'!D$3,Sheest 1!$A$2:$F$2,0),1,1,"Sheet 1"))),1,0,100,1),"X")
 
Lần chỉnh sửa cuối:
Chào bạn, mình đang loay hoay xử lý vụ này chưa được. Đó là tìm kiếm giá trị trong một mảng và trả về địa chỉ của ô chứa giá trị đó. Cụ thể, mình có cột A1:C20 chứa các dữ liệu là chuỗi ký tự như "Màu Đỏ, Màu Xanh, Màu Trắng," và phân bổ không theo quy luật nào cả .... Giả sử mình muốn tìm ô nào chứa giá trị "Màu Đỏ" trong cột A1:A20 (là một phần của mảng A1:C20) và trả về địa chỉ (dòng và cột) của các ô đó thì dùng công thức như thế nào nhỉ? Nếu trong cột A1:A20 có nhiều hơn 1 ô chứa dữ liệu "Màu Đỏ" thì kết quả được trả ra sẽ thế nào nhỉ? Nó có hiện ra địa chỉ (dòng cột) lần lượt liên tiếp nhau trong cùng một ô chứa kết quả không?

Cảm ơn bạn.
 
Bạn gửi file dữ liệu của bạn lên, kèm theo yêu cầu bài của bài toán và các ví dụ cụ thể sẽ rễ hình dung hơn.
 
Chào bạn, mình đang loay hoay xử lý vụ này chưa được. Đó là tìm kiếm giá trị trong một mảng và trả về địa chỉ của ô chứa giá trị đó. Cụ thể, mình có cột A1:C20 chứa các dữ liệu là chuỗi ký tự như "Màu Đỏ, Màu Xanh, Màu Trắng," và phân bổ không theo quy luật nào cả .... Giả sử mình muốn tìm ô nào chứa giá trị "Màu Đỏ" trong cột A1:A20 (là một phần của mảng A1:C20) và trả về địa chỉ (dòng và cột) của các ô đó thì dùng công thức như thế nào nhỉ? Nếu trong cột A1:A20 có nhiều hơn 1 ô chứa dữ liệu "Màu Đỏ" thì kết quả được trả ra sẽ thế nào nhỉ? Nó có hiện ra địa chỉ (dòng cột) lần lượt liên tiếp nhau trong cùng một ô chứa kết quả không?

Cảm ơn bạn.
Nick kia cũng của bạn hả? tạo chi nhiều vậy? (chứ chẳng lẽ 2 người làm chung một việc)
Vôi quá chưa làm đúng yêu cầu của bạn được, sử dụng công thức mình chưa đưa tất cả kết quả vào 1 cell được (từ từ tính ), còn dùng code thì nhẹ nhàng thôi, bấm Ctrl + m chạy code nhé
Híc, hèn chi lâu quá không thấy bạn "on"
Bạn có thể chuyển Sub sang Function cho dễ sử dụng:
Mã:
Public Function chay(Cll, dk As Range) As String
Dim cl As Range, kq As String
For Each cl In Cll
If cl = dk Then kq = kq & " " & cl.Address
Next
chay = Trim(kq)
End Function
Cll: vùng muốn lọc
dk: cell bạn muốn làm điều kiện lọc
 

File đính kèm

  • traloiban.xls
    23 KB · Đọc: 171
Lần chỉnh sửa cuối:
Gửi Concogia,
Liên quan chủ đề này e có một vấn đề muốn nhờ a/chị giúp:
e co 2 workbook, workbook 1 chứa rất nhiều thông tin và khi sử dụng vlookup để tìm kiếm trong workbook 2 thì sau khi sử dụng sự kết hợp 2 hàm address và match để tìm code (giả sử là code gh68-26974A như minh hoạ bên dưới) thì kết quả trả về là địa chỉ ô (giả sử $B$306).
vấn đề khó khăn của e là : khi kết hợp 2 hàm này sẽ trả về các địa chỉ ô liên tiếp ( $B$306, $B$307, $B$308) thì e chưa biết dùng hàm nào để nó hiểu và kết quả trả về là : ink ultra red hay black hay blue :
(GH68-26974A
S3600i
ICT LABEL
SEV
83*43
PDC-103

Decal Avery
SW7325
88
1000
92.0 )
GH68-26974A






Ink_ULTRA
Black



GH68-26974A






Ink_ULTRA
Red



GH68-26974A






Ink_ULTRA
Blue






Vậy a/chị xem có cách nào ko giúp e với.e biết a/chị rất bận nhưng bớt chút thời gian giúp e với.
e xin cảm ơn trứơc.
địa chỉ mail của e : ruanwenjiang@gmail.com
nguyễn văn giang
 
Web KT
Back
Top Bottom