hanhnguyen120221cuty
Thành viên mới

- Tham gia
- 16/7/25
- Bài viết
- 18
- Được thích
- 0

Chào các bạn trên diễn đàn. Các bạn giúp mình, mình có một danh sách các đơn hàng mà có 2 giá trị, mình muốn tìm kiếm các nhiều đơn hàng mà mỗi đơn có 2 giá trị. Mình gửi file mẫu cần tìm. Giúp mình công thức excel.
M9 =IFERROR(INDEX(F$1:F$12,AGGREGATE(15,6,ROW($7:$12)/(COUNTIF($F$7:$F$12,$F$7:$F$12)=2),ROWS($1:1))),"")



countif(...)=2 : xác định dữ liệu xuất hiện 2 lầnMình hỏi chút đoạn row/countif của hàm aggrate là thế nào.
Thử công thức này:Chào các bạn trên diễn đàn. Các bạn giúp mình, mình có một danh sách các đơn hàng mà có 2 giá trị, mình muốn tìm kiếm các nhiều đơn hàng mà mỗi đơn có 2 giá trị. Mình gửi file mẫu cần tìm. Giúp mình công thức excel.

Số đơn đã lấy được, còn số tiền tương ứng thì chưa có thì phải, xem giúp mình.countif(...)=2 : xác định dữ liệu xuất hiện 2 lần
row/countif : tính dòng dữ liệu xuất hiện 2 lần, những dòng khác bị lỗi
aggrate trả về lần lượt thứ tự dòng không bị lỗi
Bạn copy công thức qua cột số tiền, nếu chưa được thì gởi file lên xem bị gìSố đơn đã lấy được, còn số tiền tương ứng thì chưa có thì phải, xem giúp mình.


Nhưng mình muốn lấy theo cột K, cột F chỉ là nguồn lấy dữ liệu, ví dụ cột K chỉ muốn lấy đơn thứ 2 và thứ 3. Thì cột kết quả sẽ cho ra 2 giá trị của đơn thứ 2 và đơn thứ 3.Chào bạn @hanhnguyen120221cuty, phần còn thiếu số tiền là vì công thức ở cột đơn mới chỉ trả về cột đơn, chưa lấy sang cột tiền. Mình hay làm theo một trong hai cách sau, tùy phiên bản Excel bạn đang dùng.
Cách gọn nhất nếu bạn dùng Excel 365: dùng FILTER lấy cả hai cột đơn và tiền cùng lúc, ví dụ:
=FILTER(F7:G13,COUNTIF(F7:F13,F7:F13)=2)
Công thức này trả về cả đơn hàng và số tiền tương ứng trong cùng một lần lọc, vì vùng lọc là F7:G13 chứ không chỉ F7:F13. Bạn chỉ cần gõ ở một ô, các hàng còn lại sẽ tự tràn xuống, không cần kéo công thức.
Nếu bạn dùng bản Excel cũ hơn, không có FILTER, bạn giữ nguyên cách INDEX/AGGREGATE của bạn HieuCD cho cột đơn, rồi sang cột tiền dùng cùng một chỉ số dòng, chỉ đổi vùng lấy dữ liệu từ cột F sang cột G, ví dụ:
=IFERROR(INDEX(G$1:G$12,AGGREGATE(15,6,ROW($7:$12)/(COUNTIF($F$7:$F$12,$F$7:$F$12)=2),ROWS($1:1))),"")
Lưu ý nhỏ mình hay gặp: khi copy sang cột tiền mà quên đổi F thành G thì kết quả vẫn là mã đơn, nhìn như chưa có tiền; và nếu số tiền đang lưu dạng text thì sau khi lấy ra nên kiểm tra lại bằng cách cộng thử hoặc dùng VALUE để chuyển về số trước khi tổng hợp. Bạn thử cách FILTER trước, nếu báo lỗi thì cho mình biết phiên bản Excel bạn đang dùng để mình gợi ý tiếp.


Chào bạn @hanhnguyen120221cuty, cảm ơn bạn đã nói rõ thêm. Mình hiểu là cột F vẫn là nguồn dữ liệu, còn cột K là nơi bạn muốn lấy ra chỉ đơn xuất hiện lần thứ 2 và lần thứ 3, kèm số tiền tương ứng, đúng không? Nếu đúng như vậy thì cách làm chắc chắn nhất là thêm một cột phụ đếm số lần xuất hiện, vì FILTER hay INDEX/AGGREGATE đều khó đếm lần xuất hiện nếu chỉ nhìn vào cột F.
Bạn thêm cột phụ, ví dụ cột H, từ H7 trở xuống với công thức =COUNTIF($F$7:F7,F7). Công thức này đếm tới dòng hiện tại, nên lần đầu xuất hiện sẽ ra 1, lần thứ hai ra 2, lần thứ ba ra 3. Sau đó bạn lọc theo cột phụ này, nếu dùng Excel 365 thì dùng =FILTER(F7:G13,(H7:H13=2)+(H7:H13=3)). Công thức này trả về cả mã đơn và số tiền của đúng hai lần xuất hiện đó, vì vùng lọc là F7:G13.
Lỗi thường gặp là dùng COUNTIF cả vùng $F$7:$F$13, khi đó mọi lần xuất hiện đều ra cùng một số 2, nên không phân biệt được lần thứ mấy. Bạn nhớ khóa đầu vùng bằng $F$7 còn cuối vùng để tương đối là F7, rồi kéo xuống.
Bạn cho mình xem cột K trong file của bạn đang chứa gì được không, ví dụ K là danh sách đơn cần lấy hay là cột kết quả, mình sẽ viết đúng công thức cho vị trí đó?

Bạn copy công thức qua cột số tiền, nếu chưa được thì gởi file lên xem bị g
Xem giúp mình, mình muốn lấy thông tin đơn hàng cột K, cột K lấy thông tin từ cột F. Ra kết quả lấy đủ 2 giá trị của đơn hàng, và mình muốn lấy thông tin của nhiều đơn liên tục.Bạn copy công thức qua cột số tiền, nếu chưa được thì gởi file lên xem bị gì

Với dữ liệu quá đẹp trong file.Xem giúp mình, mình muốn lấy thông tin đơn hàng cột K, cột K lấy thông tin từ cột F. Ra kết quả lấy đủ 2 giá trị của đơn hàng, và mình muốn lấy thông tin của nhiều đơn liên tục.
M9 =INDEX($K$8:$K$999,ROWS($1:2)/2)
N9 =IFERROR(INDEX($G$7:$G$999,MATCH(M9,$F$7:$F$999,0)+MOD(ROWS($1:2),2)),"")