Giao lưu dictionary

tuhocvba

Administrator
Thành viên BQT
Về việc bạn @Nguyen Kha Nam trao đổi:
Xin chào các bạn,

Tôi thấy Dictionary ứng dụng trong thực tế công việc rất nhiều, tôi cũng có tìm hiểu nhưng thực sự vẫn còn rất mơ màng.
Nếu không phiền các bạn có thể cho thêm nhiều các ví dụ hơn như sử dụng thay thể cho hàm countifs,sumifs,vlookup.. nhiều điều kiện, để tôi và những người quan tâm như tôi hiểu thêm được không?
Hoặc bạn nào có các bài tập từ cơ bản đến nâng cao thì có thể up lên để mọi người cùng học và thảo luận nhỉ.

Hình như tôi đăng bài trong mục này có lẽ không hợp lý lắm,nếu đúng vậy nhờ các bạn chuyển/tách giúp tôi sang chủ đề mới nhé.
Xin cảm ơn nhiều
Đúng là bài này đăng trong mục học thuật chưa được hợp lý lắm, nên mình trích dẫn ý kiến ra đây.
Hiện nay BQT chưa có thời gian để dày công biên soạn thành các bài tập như bạn nêu. Nếu có thời gian thì làm cũng tốt, nhưng cũng khó đấy, là vì tùy từng lĩnh vực công việc mà sẽ gặp các bài toán khác nhau, vì vậy để đưa ra được một ví dụ mà tất cả đều chấp nhận được thì không dễ.
Ví dụ, nếu nhìn một bài toán của dân kế toán thì mình không thích. Ngược lại, nếu dân kế toán nhìn thấy bài toán xử lý tín hiệu của mình thì chắc họ cũng không thích. Cái điểm chung nhất, là đưa ra các kiến thức cơ bản mà ai cũng đọc được, rồi tùy ý ứng dụng vào công việc của mình. Như thế thì cũng ngắn gọn, đỡ phải dài dòng lôi thôi.
Tuy nhiên, tại làm sao có người đọc phần cơ bản thì nhanh chóng áp dụng vào công việc được, có người thì lại không, mình thấy khác biệt đó chính là cách nghĩ logic thuật toán của mỗi người là khác nhau.
Những bạn học kỹ thuật thì đa phần đều đã học qua một ngôn ngữ lập trình, Pascal hoặc C/C++, do đó tiếp cận nhanh, chỉ cần đọc qua các ví dụ cơ bản là tự áp dụng được.
Ngược lại, những bạn học khối kinh tế, chưa học một ngôn ngữ lập trình nào, thì khi học có phần khó khăn hơn.
Nên mình nghĩ, mấu chốt là làm sao nâng cao suy nghĩ logic, thuật toán. Tất nhiên, vì công việc của bạn chẳng dùng tới C/C++ hay pascal, thế mà bây giờ bảo tìm hiểu mấy ngôn ngữ đó, thì không khả thi. Hướng đi là, viết lại các sách thuật toán đó, nhưng bằng ngôn ngữ VBA.
Mình mới có ý tưởng vậy, tuy nhiên để hiện thực hóa được, thì cần có thời gian.

Vài điều giao lưu như vậy, không biết đã thỏa đáng hay chưa.
 

Nguyen Kha Nam

Thành viên mới
Cảm ơn @tuhocvba đã phản hồi thông tin.
Hi vọng sau này sẽ có nhiều thành viên có nhiều bài viết liên quan đến việc sử dụng Dic.
:D
 

giaiphapvba

Administrator
Thành viên BQT
Code cho các dự án, cho Tool thì sử dụng nhiều. Trên diễn đàn rất ít hỗ trợ code. Bởi vì, một là không có nhiều thời gian. Hai là, phần lớn đều không đáp ứng được yêu cầu trình bày dễ hiểu.
Về việc dùng Dic cho Vlookup thì bạn có thể tham khảo bài này:
 

Euler

Biên Tập Viên
Nếu chỉ xét tính tồn tại duy nhất, thì không nhất thiết phải dùng Dic, vì người ta có nhiều cách.
Ví dụ ở topic này, cần xét tới tính duy nhất, nhưng tôi không dùng Dic.

Trong dự án hỗ trợ thành viên số 01, từ đầu dự án tới cuối dự án đều phải dùng Dic để so sánh và truy xuất.
Tuy nhiên do là thỏa thuận code giữa BQT và thành viên nên code không được public ra ngoài. Nhưng nhìn vào sơ đồ thiết kế, thì sẽ thấy chắc chắn phải dùng Dic để làm. Ưu thế mạnh nhất của Dic là truy xuất Dic.Item(key), nó cũng chính là áp dụng vào bài toán Vlookup. Nếu key trùng nhau, thì mỗi lần key xuất hiện, người ta lại gán item = item1@item2... rồi sau đó dùng Split để tách ra.

Tôi không nghĩ là cần phải có nhiều ví dụ. Thú thực là tôi cũng không thể thuộc dòng lệnh để tự gõ chính xác, mỗi lần code là tôi lại xem lại bài cơ bản. Tùy từng bài toán, mình biết mình phải làm gì, cái đó quan trọng nhất. Và điều này phụ thuộc vào tư duy logic của bạn. Để nâng cao cái này thì không gì khác là học giải thuật. Chứ code dài lê thê trên diễn đàn, bạn đọc chắc gì đã hiểu, tôi nhìn do chính mình viết còn hoa hết cả mắt.
 
Top