Tìm kiếm nâng cao và có điều kiện (1 người xem)

Người dùng đang xem chủ đề này

thangcode

Thành viên mới
Tham gia
6/11/08
Bài viết
9
Được thích
0
Cả nhà giúp mình bài này với, mình muốn tìm kiếm có điều kiện và đưa ra những đối tượng thoả mản ra một bảng. Cụ thể mình đã viết trong file đính kèm, mọi người giúp mình sớm nhé. Mình đang rất cần cái này. Thanks cả nhà.
 

File đính kèm

Bạn xem trong file đính kèm có được không nhé!
 

File đính kèm

mình không hiểu lắm

mình chạy thì đúng rồi, nhưng không hiểu lắm về công thức, bạn có thể nói rõ hơn được không? Mình vẫn thắc mắc là bạn không dùng tới ô F2. count(dong) trong ngoặc dong có nghĩa là gì? Mong bạn chỉ rõ hơn cho mình với.

IF(ROWS($1:1)>COUNT(dong),"",OFFSET($C$1,SMALL(dong,ROWS($1:1))-1,0))
 
Cả nhà giúp mình bài này với, mình muốn tìm kiếm có điều kiện và đưa ra những đối tượng thoả mản ra một bảng. Cụ thể mình đã viết trong file đính kèm, mọi người giúp mình sớm nhé. Mình đang rất cần cái này. Thanks cả nhà.

Nếu bạn rành về công thức sử dụng công thức mảng như bài viết của bạn Hoangminhtien. Nếu chưa biết nhiều thì bạn sử dụng cột phụ và công thức đơn giản sau nha.
 

File đính kèm

mình chạy thì đúng rồi, nhưng không hiểu lắm về công thức, bạn có thể nói rõ hơn được không? Mình vẫn thắc mắc là bạn không dùng tới ô F2. count(dong) trong ngoặc dong có nghĩa là gì? Mong bạn chỉ rõ hơn cho mình với.

IF(ROWS($1:1)>COUNT(dong),"",OFFSET($C$1,SMALL(dong,ROWS($1:1))-1,0))

dong là cái Name mình đặt, bạn nhấn Ctr+F3 để xem các Name mình đặt. trong đó có 2 Name
congty =OFFSET(Sheet1!$B$2,,,COUNTA(Sheet1!$B:$B),1) sẽ cho ra vùng chứa công ty của cột công ty trong Sheet1
dong =IF(congty=Sheet1!$F$2,ROW(congty),"") sẽ cho ra số dòng của những công ty trùng với công ty trong cột F2.
Bạn tìm hiểu nếu có gì không hiểu thì tiếp tục hỏi nhé, mọi người sẽ giúp bạn!
 
Cách nữa cũng nên tham khảo là AdvancedFilter;

Muốn vậy cần sửa lại nội dung 1 số ô là thích ứng ngay thôi!

Chúc vui!
 
cảm ơn các bạn, nhưng mình làm vẫn chưa được

trước tiên xin cảm ơn các bạn nhiều, nhưng mình áp dụng vào bài của mình vẫn chưa được. Các bạn giúp mình tiếp nhé, mình để ở hai sheet. Một sheet chưa data và một sheet chứa thông tin chi tiết.
 

File đính kèm

Bạn xem trong file đính kèm nhé! Nó giống bài #2
 

File đính kèm

nhờ các bạn lần nữa

còn một phần nữa muốn nhờ các đại ca, đó là mình muốn đưa ra top 50 mặt hàng bán được của công ty đó ( doanh thu giảm dần). Các bạn xem file đính kèm nhé. Cảm ơn mọi người
 

File đính kèm

còn một phần nữa muốn nhờ các đại ca, đó là mình muốn đưa ra top 50 mặt hàng bán được của công ty đó ( doanh thu giảm dần). Các bạn xem file đính kèm nhé. Cảm ơn mọi người
--------
Tôi thích dùng cột phụ, dễ nhìn thấy các công thức của mình để chỉnh sửa, ẩn nó đi khi không cần thiết, Bạn thử xem.
 
- Trên cơ sở tìm kiếm như các bạn đã làm, Mình có thêm điều kiện là tìm kiếm cho nhiều đối tượng cùng một lúc trên cùng một bảng thì thực hiện không được.
- Nhờ Anh em giúp mình.
- Cám ơn Anh em!
 

File đính kèm

Lần chỉnh sửa cuối:
- Trên cơ sở tìm kiếm như các bạn đã làm, Mình có thêm điều kiện là tìm kiếm cho nhiều đối tượng cùng một lúc trên cùng một bảng thì thực hiện không được.
- Nhờ Anh em giúp mình.
- Cám ơn Anh em!
Chọn F3 sửa name "dong" thành
=IF(congty=Sheet1!F$2,ROW(congty),"")
Chọn F3:F18 fill sang phải
 
[FONT=&quot]- Mình đã làm rồi nhưng chưa được, nhờ Bạn kiểm tra lại giúp mình với! chỉ được ô đầu tiên thôi.
- Cám ơn bạn nhiều!
- Chào bạn!

[/FONT]
 
[FONT=&quot]- Mình đã làm rồi nhưng chưa được, nhờ Bạn kiểm tra lại giúp mình với! chỉ được ô đầu tiên thôi.[/FONT]
[FONT=&quot]- Cám ơn bạn nhiều![/FONT]
[FONT=&quot]- Chào bạn![/FONT]
Nó đây. Được ô đầu thôi sao. Kỳ "zị"?
 

File đính kèm

Thêm 1 tham khảo macro sự kiện

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [F2].Resize(, 6)) Is Nothing Then
   Dim Rng As Range, sRng As Range, MyAdd As String, Col As Byte
 
   Target.Offset(1).Resize(18).ClearContents
   Set Rng = Range([B2], [B65500].End(xlUp)):            Col = Target.Column
   Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
   If Not sRng Is Nothing Then
      MyAdd = sRng.Address
      Do
         Cells(11, Col).End(xlUp).Offset(1).Value = sRng.Offset(, 1).Value
         If Cells(11, Col).Value = "" Then
            Cells(11, Col).Value = sRng.Offset(, -1).Value
         Else
            Cells(35, Col).End(xlUp).Offset(1).Value = sRng.Offset(, -1).Value
         End If
         Set sRng = Rng.FindNext(sRng)
      Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
   End If
 End If
End Sub
 
Nó đây. Được ô đầu thôi sao. Kỳ "zị"?
- Chào Anh!
- Cám ơn Anh đã giúp Mình giải bài toán trên.
- Hiện nay Mình có một bảng tính mà yêu cầu gần giống như bài toán trên nhưng do Mình không hiểu lắm về ý nghĩa của hai lệnh "dong" và "congty" mà Anh đã dùng. Vì thế khi áp dụng bằng lệnh thường (đánh lại theo lệnh tắt của Anh) thì không được. Vì thế nhờ Anh có thể giải thích cho Mình về ý nghĩa của hai lệnh tắt trên được không?!
- Chân thành cám ơn Anh rất nhiều!
 
- Chào Anh!
- Cám ơn Anh đã giúp Mình giải bài toán trên.
- Hiện nay Mình có một bảng tính mà yêu cầu gần giống như bài toán trên nhưng do Mình không hiểu lắm về ý nghĩa của hai lệnh "dong" và "congty" mà Anh đã dùng. Vì thế khi áp dụng bằng lệnh thường (đánh lại theo lệnh tắt của Anh) thì không được. Vì thế nhờ Anh có thể giải thích cho Mình về ý nghĩa của hai lệnh tắt trên được không?!
- Chân thành cám ơn Anh rất nhiều!
Đó là các Name động bạn ạ, bấm Ctrl + F3 xem trong đó là cái gì nhé
Còn bảng tính của bạn gần giống như vậy mà không áp dụng được sao bạn không gởi cái bài đó lên, hoặc file giả lập cùng cấu trúc và yêu câu theo bài của bạn, AE trên diễn đàn sẵn sàng trợ giúp bạn ngay thôi mà
Thân
 
Bài tập tìm kiếm nâng cao

Đó là các Name động bạn ạ, bấm Ctrl + F3 xem trong đó là cái gì nhé
Còn bảng tính của bạn gần giống như vậy mà không áp dụng được sao bạn không gởi cái bài đó lên, hoặc file giả lập cùng cấu trúc và yêu câu theo bài của bạn, AE trên diễn đàn sẵn sàng trợ giúp bạn ngay thôi mà
Thân
- Mình mới vào nghề nên còn non kém lắm.
- Điều kiện và thời gian cũng không nhiều để học tập cho đúng. Vì thế nên Mình rất cám ơn Anh đã hỗ trợ cho Mình trong thời gian qua.
- Mình có bài toán cũng giống như yêu cầu trên nhưng có cái là Mình không biết dùng Name động nên gõ lại công thức của Anh nhưng do Mình không hiểu ý nghĩa của nó nên không làm được. Nhờ Anh hỗ trợ giúp Mình bài toán này nhé.
- Anh vui lòng viết bằng ngôn ngữ phổ thông để Mình tiện tìm hiểu về lệnh đó.
- Chân thành cám ơn Anh rất nhiều!
- Chào Anh!
 

File đính kèm

Lần chỉnh sửa cuối:
- Mình mới vào nghề nên còn non kém lắm.
- Điều kiện và thời gian cũng không nhiều để học tập cho đúng. Vì thế nên Mình rất cám ơn Anh đã hỗ trợ cho Mình trong thời gian qua.
- Mình có bài toán cũng giống như yêu cầu trên nhưng có cái là Mình không biết dùng Name động nên gõ lại công thức của Anh nhưng do Mình không hiểu ý nghĩa của nó nên không làm được. Nhờ Anh hỗ trợ giúp Mình bài toán này nhé.
- Anh vui lòng viết bằng ngôn ngữ phổ thông để Mình tiện tìm hiểu về lệnh đó.
- Chân thành cám ơn Anh rất nhiều!
- Chào Anh!
Híc, mình chẳng hiểu gì cả, bạn vui lòng nói rõ yêu cầu, càng rõ càng tốt
Bạn muốn làm gì? kết quả ra sao? muốn ra kết quả ở vùng nào của sheet nào?. Tốt nhất là bạn nhập kết quả theo ý bạn vài hàng
Thân
 
Gởi File nhờ giúp đỡ.

Híc, mình chẳng hiểu gì cả, bạn vui lòng nói rõ yêu cầu, càng rõ càng tốt
Bạn muốn làm gì? kết quả ra sao? muốn ra kết quả ở vùng nào của sheet nào?. Tốt nhất là bạn nhập kết quả theo ý bạn vài hàng
Thân
- Mình gởi lại yêu cầu của bài toán.
- Cám ơn Anh nhiều!
- Chào Anh!
 

File đính kèm

- Mình gởi lại yêu cầu của bài toán.
- Cám ơn Anh nhiều!
- Chào Anh!
Bài toán này của bạn khác xa với bài kia ( chứ nếu tương tự thì mình làm cái roẹt là xong), di chuyển dữ liệu từ dọc sang ngang, lấy duy nhất trong từng vùng dữ liệu
Mình chỉ thắc mắc là sao bạn biết được trong mấy "thằng" P, I, IC có tối đa bao nhiêu dòng mà bạn chừa ra để nhập công thức ( hay dữ liệu của ai thì nấy biết nhỉ)
Cái phần còn lại ở sheet DK mình nghĩ chắc bạn làm được ( cái này mới đúng là tương tự)
Híc
 

File đính kèm

Bài toán này của bạn khác xa với bài kia ( chứ nếu tương tự thì mình làm cái roẹt là xong), di chuyển dữ liệu từ dọc sang ngang, lấy duy nhất trong từng vùng dữ liệu
Mình chỉ thắc mắc là sao bạn biết được trong mấy "thằng" P, I, IC có tối đa bao nhiêu dòng mà bạn chừa ra để nhập công thức ( hay dữ liệu của ai thì nấy biết nhỉ)
Cái phần còn lại ở sheet DK mình nghĩ chắc bạn làm được ( cái này mới đúng là tương tự)
Híc

- Bài này thực tế là một phần của "Bảng tính toán thiết kế Điện" của Mình. Nhưng do kiến thức còn hạn chế nên "Bảng tính thiết kế Điện" của Mình rất nặng (do Mình dùng lệnh IF cho từng trường hợp), cũng vì thế nên nó cũng không linh hoạt khi bảng dữ liệu gốc có thay đổi. Nếu viết lại theo kiểu của Anh thì File sẽ nhẹ và linh hoạt khi có thay đổi ở bảng gốc.
- Anh có thể tư vấn cho Mình cách làm Name động được không? cách kết hợp chúng lại có gì khác nhau so với cách dùng thẳng cả câu lệnh không?
- Cám ơn Anh rất nhiều!
- Chào Anh!
 
Xin hướng dẫn tạo Name động.

Bài toán này của bạn khác xa với bài kia ( chứ nếu tương tự thì mình làm cái roẹt là xong), di chuyển dữ liệu từ dọc sang ngang, lấy duy nhất trong từng vùng dữ liệu
Mình chỉ thắc mắc là sao bạn biết được trong mấy "thằng" P, I, IC có tối đa bao nhiêu dòng mà bạn chừa ra để nhập công thức ( hay dữ liệu của ai thì nấy biết nhỉ)
Cái phần còn lại ở sheet DK mình nghĩ chắc bạn làm được ( cái này mới đúng là tương tự)
Híc

- Bài này thực tế là một phần của "Bảng tính toán thiết kế Điện" của Mình. Nhưng do kiến thức còn hạn chế nên "Bảng tính thiết kế Điện" của Mình rất nặng (do Mình dùng lệnh IF cho từng trường hợp), cũng vì thế nên nó cũng không linh hoạt khi bảng dữ liệu gốc có thay đổi. Nếu viết lại theo kiểu của Anh thì File sẽ nhẹ và linh hoạt khi có thay đổi ở bảng gốc.
- Anh có thể tư vấn cho Mình cách làm Name động được không? cách kết hợp chúng lại có gì khác nhau so với cách dùng thẳng cả câu lệnh không?
- Cám ơn Anh rất nhiều!
- Chào Anh!
 
- Bài này thực tế là một phần của "Bảng tính toán thiết kế Điện" của Mình. Nhưng do kiến thức còn hạn chế nên "Bảng tính thiết kế Điện" của Mình rất nặng (do Mình dùng lệnh IF cho từng trường hợp), cũng vì thế nên nó cũng không linh hoạt khi bảng dữ liệu gốc có thay đổi. Nếu viết lại theo kiểu của Anh thì File sẽ nhẹ và linh hoạt khi có thay đổi ở bảng gốc.
- Anh có thể tư vấn cho Mình cách làm Name động được không? cách kết hợp chúng lại có gì khác nhau so với cách dùng thẳng cả câu lệnh không?
- Cám ơn Anh rất nhiều!
- Chào Anh!
Bạn muốn viết thẳng ra câu lệnh thì vào name chọn tên muốn thay thế ==> copy ==> đem ra bảng tính ==> vào công thức ==> cứ "thằng" nào trùng tên với tên mình vừa copy thì mình dán vào thay thế nó ==> bạn sẽ được một cái công thức ..dài thăm thẳm như con trăn gì đó ở Nam Mỹ
Thật ra không khó đâu, bạn chọn name muốn tìm hiểu ==> bôi đen thui ==> bấm F9 sẽ biết nó làm gì cho ta
Từ từ từng bước bạn sẽ hiểu thôi, hoặc bạn cứ tìm hiểu từ từ chỗ nào "hổng" hiểu thì ta bàn tiếp nhé
Thân
 
chào cả nhà,
mình thấy các ví dụ mà các su phụ chỉ là tìm kiếm theo giá trị chính xác nào đó, còn nếu muốn tìm các ô có giá trì gần đúng với ô điều kiện thì thế nào vậy ?ví dụ: mình có 1 cột gồm các giá trị S, SO, SY, A, AB, AC. Câu hỏi là tìm và show ra các giá trị có chữ "S" --> kết quả cần cho là liệt kê các ô S, So, SY.
Mình là thành viên mới nên chưa rành diện đàn này, mò chỗ attach file mà tìm hoài chẳng thấy :( thông cảm giùm mình
 
View attachment Book1.xlsx
mình có vấn đề này mong mọi người giúp đỡ. mình muốn tìm giá trị A1 những trả giá trị tham chiếu ở E2
chân thành cảm ơn mọi người
 
Nếu tìm trong 1 workbook thì sao ạ? em có 1 bài toán tương tự nhưng lại có nhiều sheet các anh giúp e với nha
 
dong là cái Name mình đặt, bạn nhấn Ctr+F3 để xem các Name mình đặt. trong đó có 2 Name
congty =OFFSET(Sheet1!$B$2,,,COUNTA(Sheet1!$B:$B),1) sẽ cho ra vùng chứa công ty của cột công ty trong Sheet1
dong =IF(congty=Sheet1!$F$2,ROW(congty),"") sẽ cho ra số dòng của những công ty trùng với công ty trong cột F2.
Bạn tìm hiểu nếu có gì không hiểu thì tiếp tục hỏi nhé, mọi người sẽ giúp bạn!

Mình cũng chưa hiểu lắm về công thức ,nhất là công thức OFFSET.Mình chỉ hiểu sơ là nó giống công thức dạng tìm kiếm.Bạn có thể giải thích rõ hơn về công thức này được không? nếu mình không dùng OFFSET thì mình có thể dùng lookup được không
 
Kinh khủng thật đấy! Excel biến hóa không lường quá làm em chóng hết cả mặt, công thức được sử dụng quá phức tạp
 

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

Back
Top Bottom