Tư vấn về cách lọc dữ liệu dựa trên điều kiện có sẵn

Liên hệ QC

phucstth

Thành viên mới
Tham gia
24/5/20
Bài viết
8
Được thích
3
Em chào các anh chị trong Giải pháp Excel,
Xin lỗi mọi người vì tiêu đề bài viết hơi khó hiểu của em do em không biết đặt như thế nào cho hợp lý cả.
Em xin phép vào thẳng vấn đề. Em có 1 file Excel bao gồm 2 cột như bên dưới: ID bài viết và Tag. Trong đó:
- ID bài viết: Là số dùng để quản lý bài viết ở hệ thống bên em
- Tag: Từ hoặc cụm từ dùng để gom nhóm những bài viết cùng nhóm chủ đề với nhau. Tag thường là những từ hoặc cụm từ ngắn gọn (thường dưới 5 từ) và chung chung, chứ không cụ thể. Tuy nhiên trong quá trình làm việc có sai sót nên có những bài viết được điền tag sai (em tô vàng để ví dụ)
Screen Shot 2021-03-29 at 21.25.16.png
Và mong muốn của em là dựa trên 1 danh sách tag có sẵn mà lọc ra được số lượng bài viết được đánh với chính xác tag đó và những ID đó là ID nào (nếu phân ra ID theo từng hàng thì càng tốt).
Ví dụ: son môi, 2 bài, 10000 và 10006 => phải lấy chính xác chữ son môi chứ son môi 3CE là không tính

Nhờ các anh chị tư vấn giúp em cách làm vì số lượng bài viết thực tế lên đến gần 20.000 bài viết nên em cũng không biết làm như thế nào.
Em cảm ơn ạ.
 

File đính kèm

  • Ví dụ.xlsx
    17.2 KB · Đọc: 5
Lần chỉnh sửa cuối:
Em chào các anh chị trong Giải pháp Excel,
Xin lỗi mọi người vì tiêu đề bài viết hơi khó hiểu của em do em không biết đặt như thế nào cho OK cả.
Em xin phép vào thẳng vấn đề. Em có 1 file Excel bao gồm 2 cột như bên dưới: ID bài viết và Tag. Trong đó:
- ID bài viết: Là số dùng để quản lý bài viết ở hệ thống bên em
- Tag: Từ hoặc cụm từ dùng để group những bài viết cùng nhóm chủ đề với nhau. Tag thường là những từ hoặc cụm từ ngắn gọn (thường dưới 5 từ) và chung chung, chứ không cụ thể. Tuy nhiên trong quá trình làm việc có sai sót nên có những bài viết được điền tag sai (em tô vàng để ví dụ)
View attachment 256301
Và mong muốn của em là dựa trên 1 danh sách tag có sẵn mà lọc ra được số lượng bài viết được đánh với tag đó và những ID đó là ID nào (nếu phân ra ID theo từng hàng thì càng tốt).
Nhờ các anh chị tư vấn giúp em cách làm vì số lượng bài viết thực tế lên đến gần 20.000 bài viết nên em cũng không biết làm như thế nào.
Em cảm ơn ạ.
Danh sách có sẵn để đâu và kết quả mong muốn của bạn thể hiện như thế nào trong file nhỉ? (Cho ví dụ vào file nhé).
 
Lần chỉnh sửa cuối:
Bài này dùng VBA chứ các thủ thuật khác khó lắm.
Đại khái giải thuật:
- Lập 2 đít-sần, DicT và DicE (T for Tag and E for Error)
- Đọc bảng "dnah sách tag" vào DicT
- Đọc bảng Sheet1: cột A là ID cột B là tags
- - Dùng split theo dấu phẩy để tách các cụm từ cột B
- - Với từng cụm từ, xét xem chúng có trong DicT:
- - - Nếu có: ghi thêm ID vào item của DicT
- - - Nếu không: ghi cụm từ và ID vào DicE
- Chép Keys và Items của DicT vào SheetTnID (Tag-ID)
- Chép Keys và Items của DicE vào SheetErr (Error)
- Hết

@thớt: tôi nói tiếng Anh như tiếng Việt. Nhưng tôi từ chối nói chuyện với người Việt mà dùng ngôn ngữ giao thiệp bằng tiếng Anh. Nếu tôi thấy các từ như sorry, thanks thì tôi sẽ từ chối nói chuyện tiếp.
 
Bài này dùng VBA chứ các thủ thuật khác khó lắm.
Đại khái giải thuật:
- Lập 2 đít-sần, DicT và DicE (T for Tag and E for Error)
- Đọc bảng "dnah sách tag" vào DicT
- Đọc bảng Sheet1: cột A là ID cột B là tags
- - Dùng split theo dấu phẩy để tách các cụm từ cột B
- - Với từng cụm từ, xét xem chúng có trong DicT:
- - - Nếu có: ghi thêm ID vào item của DicT
- - - Nếu không: ghi cụm từ và ID vào DicE
- Chép Keys và Items của DicT vào SheetTnID (Tag-ID)
- Chép Keys và Items của DicE vào SheetErr (Error)
- Hết

@thớt: tôi nói tiếng Anh như tiếng Việt. Nhưng tôi từ chối nói chuyện với người Việt mà dùng ngôn ngữ giao thiệp bằng tiếng Anh. Nếu tôi thấy các từ như sorry, thanks thì tôi sẽ từ chối nói chuyện tiếp.
Dạ vâng do thói quen trong công việc thôi ạ, em sẽ rút kinh nghiệm.
Cảm ơn gợi ý của anh nhưng do VBA em cũng chưa từng sử dụng nên cũng chưa hình dung ra rõ được, anh có thể hướng dẫn cụ thể hơn không ạ. Nếu được thì tốt quá!
 
Dòng 18, mã 100016 "đi bộ, thói quen xấu" thì căn cứ vào đâu để biết là đúng hả bạn.
Trong danh sách tags không có.
Vấn đề cần biết là nếu một ID vừa có tag hợp lệ, vừa có tag không hợp lệ thì nó tính thế nào?
Giải thuật ở bài #8 vừa liệt nó ra bên đúng vừa liệt bên sai. Nếu dùng chính sách "con sâu làm rầu nồi canh" (tức là chỉ 1 sai thì cả ID sai) thì phải thêm phần lấy nó ra khỏi bên đúng.

Dạ vâng do thói quen trong công việc thôi ạ, em sẽ rút kinh nghiệm.
Cảm ơn gợi ý của anh nhưng do VBA em cũng chưa từng sử dụng nên cũng chưa hình dung ra rõ được, anh có thể hướng dẫn cụ thể hơn không ạ. Nếu được thì tốt quá!
Ở đây có nhiều người ghiền đít sần lắm. Tôi chỉ cần gợi ý thế thôi là không chóng thì chầy, họ sẽ vào code cho bạn.
 
Trong danh sách tags không có.
Vấn đề cần biết là nếu một ID vừa có tag hợp lệ, vừa có tag không hợp lệ thì nó tính thế nào?
Giải thuật ở bài #8 vừa liệt nó ra bên đúng vừa liệt bên sai. Nếu dùng chính sách "con sâu làm rầu nồi canh" (tức là chỉ 1 sai thì cả ID sai) thì phải thêm phần lấy nó ra khỏi bên đúng.


Ở đây có nhiều người ghiền đít sần lắm. Tôi chỉ cần gợi ý thế thôi là không chóng thì chầy, họ sẽ vào code cho bạn.
Dạ vâng ạ cảm ơn anh nhiều :D
Bài đã được tự động gộp:

Về Dictionary thì mình chưa rõ lắm, bạn thử nhờ Anh VetMini một câu xem sao.
Dạ vâng em cảm ơn anh! Để em thử mò xem sao
 
Web KT
Back
Top Bottom