Vận Dụng Công Thức Mảng để Tính FIFO | Giải Pháp Excel
Có thể bạn quan tâm
- Trang chủ Có gì mới Hoạt động gần nhất Tác giả
- Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
- Video
Video về Excel Video về tin học khác Tin tức về tin học chung - Thông tin mới Featured content Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
- Tài nguyên Đánh giá mới nhất Tìm tài nguyên
- Đóng góp
Tìm kiếm
Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Note Tìm kiếm Tìm nâng cao…- Tìm bài viết mới
- Tìm theo chuyên mục
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
- Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
- Trang chủ
- Diễn đàn
- Excel và Kế Toán
- Thread starter Thread starter handung107
- Ngày gửi Ngày gửi 14/6/06
Người dùng đang xem chủ đề này
Đang trực tuyến: 2 (Thành viên: 0, Khách: 2)handung107
Thành viên gắn bó


Thành viên danh dự Tham gia 30/5/06 Bài viết 1,630 Được thích 17,444 Nghề nghiệp Bác sĩ Workman Thấy ví dụ về cách tính FIFO của chị handung107 quá hay nên post lại cho các bạn tham khảo về cách sử dụng mảng (array). (P/S : Xin lỗi các bạn, vì tôi không tìm thấy File minh họa này ở đâu nữa, nên các bạn cố gắng theo dõi bài viết này - Handung107) Đây là 1 ví dụ xuất sắc về cách sử dụng mảng một cách linh hoạt. Tôi xin mạn phép tác giả post lại đoạn mô tả cách tính FIFO (không phải của tôi, chỉ dịch lại cho các bạn tham khảo thôi. Tôi chỉ thêm phần giải thích cách tính cho thêm khí thế). Tôi biết phần lớn các bạn ở đây đều rất rành về mảng, nhưng sợ một vài bạn mới làm quen với excel chưa biết hết. Vì vậy tôi xin được phép đi cụ thể từng bước một. Giả sử ta có bảng sau: cột 1 là tên Sản phẩm (A), cột 2 là số lượng hàng mua/bán (số âm là bán, số dương là mua). Tạm đặt thên cột này là Q (tương ứng với khối $B$1:$B$30). Cột 3 là giá mua/bán, đặt tên là P (tương ứng với khối $C$1:$C$30). (Tôi không được phép post file nên không có file cho các bạn tham khảo, tuy nhiên các bạn có thể copy và paste vào trong excel). Dòng đầu tiên bao giờ cũng là số dương (số mua mới hoặc số đầu kỳ). A..... 5..... 1.0 A..... 5..... 1.1 A..... -3..... 1.3 A..... 2...... 1.3 A...... -2.....1.4 A..... 2.....1.2 A..... 4..... 1.3 A..... -3..... 1.6 A..... 4..... 1.4 A..... 2..... 1.4 A..... -2..... 1.6 A..... 1..... 1.2 A..... 3..... 1.7 A..... 3..... 1.2 A..... 1..... 1.4 A..... -5..... 1.3 A..... -4..... 1.8 A..... 3..... 1.8 A..... -3..... 1.9 A..... 5..... 1.4 chúng ta có những công thức như sau: Tại ô D1: nhập số 1 E1: =B1 Chúng ta làm 2 cột trung gian: cột E: Số lượng hàng tồn kho của đợt hàng lâu nhất (cái thằng First in ấy). Cột D: vị trí của số hàng tồn kho lâu nhất, ví dụ: tại dòng số 6, do đã tiêu thụ hết số hàng nhập về lần đầu tiên (5 cái), nên số hàng tồn kho lâu nhất sẽ là dòng số 2. Để tính các cột D, E, ta nhập các công thức sau: Tôi giả sử đang ở dòng số 6, ta nhập: Cột D (trừ ô D1 đã nhập số 1): nhớ đây là công thức mảng nhé. Bạn nhớ nhấn tổ hợp Ctrl+Shift+Enter. {=MATCH(TRUE,MMULT(--(ROW(Q)>=TRANSPOSE(ROW(Q))),(Q>0)*Q) +SUMIF(OFFSET( Q,0,0,ROW()-1,1),"<0")>0,0)} Các bạn chưa quen với công thức mảng chú ý một chút, hơi tốn công nhưng bù lại có nhiều lợi ích về sau Tôi tách cái công thức rối mù ở trên ra làm nhiều mảnh để dễ theo dõi. 1. Khối hàm Offset: trong công thức trên, hàm offset đóng vai trò 1 trích một khối con trong khối Q. Ví dụ nếu lúc này bạn đang ở ô D6, thì khối được trích sẽ là B1:B5 2. Khối SUMIF(OFFSET(Q,0,0,ROW()-1,1),"<0"): Hàm SumIf sẽ lấy tổng của các số âm trong khối B1:B5 (tức là tổng số hàng xuất ra). Trong công thức, khối SUMIF đóng vai trò 1 hằng số (sẽ thấy rõ hơn vài trò này ở phần sau). 3. Khối MMULT(--(ROW(Q)>=TRANSPOSE(ROW(Q))),(Q>0)*Q): Cái này hay nhất đây. Tác giả sử dụng rất nhiều "mánh lới" trong công thức trên Đầu tiên: (ROW(Q)>=TRANSPOSE(ROW(Q)): Đây là mánh để tạo ra 1 mảng có số dòng bằng với số cột, trong đó giá trị toàn TRUE Thứ hai: Hai dấu trừ liên tiếp nhau (--). cũng là 1 "mánh" thông dụng để chuyển giá trị logic (true/false) thành số (True=1, false=0). Đến đây bạn có mảng toàn số 1. Thứ ba: (Q>0)*Q: giống "cái gì đây" quá nhỉ. Cái này trích ra mảng toàn số dương, các số âm bị convert thành số 0. Cái mảng này là: 5 5 0 2 0 2 0 0 4 2 0 1 3 3 1 0 0 3 0 5 Tôi gọi là mảng 1 Thứ tư: Hàm MMULT: hàm này ít ai xài, nhưng nếu kết hợp với các hàm về mảng khác lại cho kết quả rất tốt. Đây là hàm tính tổng của hàng nhân với cột. Ráp vào MMULT(--(ROW(Q)>=TRANSPOSE(ROW(Q))),(Q>0)*Q), ta có phép tính sau: 5 10 10 12 12 14 14 14 18 20 20 21 24 27 28 28 28 31 31 36 Ví dụ tại ô D6, phép tính sẽ là: 1*5+1*5+1*0+1*2+1*0+1*2=14 Tôi gọi là mảng 2 3. Tổng số của MMULT và SUMIF: như đã nói trên, SUMIF đóng vai trò 1 hằng số. Kết hợp mảng MMULT và hàm SUMIF (tại ô D6), ta có 0 5 5 7 7 9 9 9 13 15 15 16 19 22 23 23 23 26 26 31 Tôi gọi là mảng 3 Ví dụ: tại ô D6, phép tính sẽ là 14 (của MMULT) - 5 (hằng số từ SUMIF) = 9 4. Mọi việc đơn giản rồi!! Điều kiện MMULT+SUMIF>0 sẽ cho ra một mảng như sau FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE Trong mảng trên, False đại diện cho các dòng đã xuất hết kho, "True" nghĩa là hàng hóa hãy còn tồn kho. Tôi gọi là mảng 4 5. Cuối cùng ta dùng hàm match (các bạn chắc rành hàm này lắm rồi, nói kỹ quá người ta cười rụng răng): dùng để xác định vị trí "TRUE" đầu tiên trong mảng 4. Ở đây, ta thấy vị trí của TRUE trong mảng 4 là vị trí số 2 (dòng số 2). Về ý nghĩa kinh tế, đây là bước dò tìm trong khối Q xem đâu là dòng "First In" đầu tiên. Bạn copy công thức mảng trên vào toàn bộ khối từ D2handung107
Thành viên gắn bó


Thành viên danh dự Tham gia 30/5/06 Bài viết 1,630 Được thích 17,444 Nghề nghiệp Bác sĩ Workman bổ sung Thực ra lệnh ROW(Q)>=TRANSPOSE(ROW(Q)) xuất ra mảng như thế này. 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Bạn hỏi mục đích tại sao lại phải tạo ra mảng này? Thực ra phải đi từ mục đích cuối cùng ra. Mục đích chính của bài toán là tìm thời điểm (dòng số mấy) của cái gọi là "First In" stock. Muốn làm như thế bắt buộc phải tạo ra một mảng thể hiện tổng số hàng nhập kho (giống như sổ kho vậy đó), sau đó trừ số xuất kho sẽ tìm được thằng "First In" mới. Mảng cần tìm chính là mảng số 2. Có bạn sẽ bật cười vì để tạo mảng số 2 ta có thể làm công thức sum(B$1:B2) rồi kéo xuống, tại sao lại phải làm 1 công thức loằng ngoằng cho đời thêm phức tạp. Nhưng thực tế nếu dùng hàm SUM ta phải làm thêm một cột phụ. Do đó, cách làm của tác giả tuy khó hiểu 1 chút nhưng vấn là best solution. T Tran Quan
Thành viên mới 
Tham gia 30/6/06 Bài viết 1 Được thích 1 Nghề nghiệp Audit Chào chị handung107 Cái công thức mãng của chị hay thật. Bên cty em muốn lập sổ chi tiết hàng hoá theo FIFO cho chi tiết từng mặt hàng. Tức là khi xuất số lượng (SL) của 1 mặt hàng nào đó thì nó tự tìm biết là SL tồn trước dó là bao nhiêu tương ưng với các giá đã tồn trước đó và xuất giá của lô nào tồn trước thành một dòng (1 row) và phần còn thiếu thì xuất tiếp của lô nhập sau thành dòng kế tiếp và cứ thế cho đến khi đủ thì thôi. Mình nghĩ phải dùng macro và kết hợp với công thức mãng thì mới được. Mình suy nghĩ muốn nát cái não nhưng không làm được. Mình chỉ có một đoạn code của nước ngoài để tính FIFO, nhưng nó tính theo kiểm kê định kỳ. Tức là tính trị giá tồn cuối kỳ trước rồi trừ ngược lại để ra trị giá xuất kho trong kỳ. Tuy nhiên code này chưa hoàn hảo lắm. Mình đã kiểm tra chúng. Hy vọng mọi người ghi nhận vấn đề này và cùng nhau giải quyết. Chào chị và các thành viên khác! W workman
Thành viên chính thức 

Thành viên danh dự Tham gia 8/6/06 Bài viết 56 Được thích 199 Chào bạn Tran Quan. Thực ra theo thông lệ thì người ta chủ yếu sử dụng FIFO để tính giá xuất kho theo phương pháp định kỳ (periodic). Ít khi FIFO áp dụng phương pháp kê khai thường xuyên (perpetual). phương pháp của chị handung giới thiệu chính là áp dụng kê khai thường xuyên đấy. Bạn làm thử xem sao. Nếu có gì trục trặc thì báo lên nhé Chúc bạn thành công. Thân ái W workman
Thành viên chính thức 

Thành viên danh dự Tham gia 8/6/06 Bài viết 56 Được thích 199 Đây là file FIFO ví dụ theo yêu cầu của bạn Tran Quan File đính kèm
- FIFO.zip FIFO.zip 3.4 KB · Đọc: 1,869
ngo15
Thành viên chính thức 

Tham gia 24/6/06 Bài viết 75 Được thích 44 Cám ơn các bạn, đúng cái tôi đang tìm. Nhưng sang file của tôi công thức mảng toàn số 1 không là sao nhỉ. Các dòng của tôi không phải là 20 mà là 500-1000 nên chạy cũng hơi chậm. Còn phương pháp khác không nhỉ? N ngo15
Thành viên chính thức 

Tham gia 24/6/06 Bài viết 75 Được thích 44 Đợi mãi không thấy ai trả lời. Tôi dùng luôn file này chỉ thay số của mình vào cũng không tính được con cuối cùng. Tất cả OK cho đến dòng cuối cùng nếu tôi xuất hết và sau đó là dòng trống thì kết quả ra âm (<0), nếu cột D tôi kéo thêm thì #N/A và FIFO cũng #N/A. Rất mong các bạn chỉ cho cách khắc phục. Xin cám ơn. tsf
LaziestMem.
Tham gia 2/6/06 Bài viết 182 Được thích 198ngo15 đã viết: Đợi mãi không thấy ai trả lời. Tôi dùng luôn file này chỉ thay số của mình vào cũng không tính được con cuối cùng. Tất cả OK cho đến dòng cuối cùng nếu tôi xuất hết và sau đó là dòng trống thì kết quả ra âm (<0), nếu cột D tôi kéo thêm thì #N/A và FIFO cũng #N/A. Rất mong các bạn chỉ cho cách khắc phục. Xin cám ơn. Nhấp chuột vào đây để mở rộng...Bạn chú ý đến phần định dạng coi sao. N
nthutruc
Thành viên mới 
Tham gia 9/6/09 Bài viết 1 Được thích 0 Xin chào! workman đã viết: Đây là file FIFO ví dụ theo yêu cầu của bạn Tran Quan Nhấp chuột vào đây để mở rộng...Cảm ơn các anh chị rất nhiều .Em đã rất vất vả tìm kiếm công thức fifo nay lâu lắm rồi Em là thành viên mới tham gia mong được sự giúp đỡ các anh các chị. Với cách tính này có thể áp dụng cho nhiều mặt hàng trong cùng bảng ko? làm fiền các anh chi. chỉ giúp em . Hi`e hơi dốt về excel
Lần chỉnh sửa cuối: 23/6/09 T thedai
Thành viên mới 
Tham gia 26/11/11 Bài viết 2 Được thích 0 anh chị nào có file hoàn chỉnh ko nghĩ nguyenthedai8MỚI XIN VIỆC VÔ CTY BÁN HÀNG TRANG TRÍ NỘI THẤT ,HỌ BẮT THEO DÕI HÀNG THEO FIFO,,,,NHIỀU QUÁ LÀM KHÔNG NỖI,AI CÓ FILE HOAN CHỈNH CHO EM XIN VỚI,,CỨU CỨU EMAIL:[email protected] P Phương gà
Thành viên mới 
Tham gia 6/2/09 Bài viết 1 Được thích 0 Xin hỏi các anh chị có cách nào tính cho cùng lúc nhiều mặt hàng luôn không? vì công ty mình có tới hơn 400 mặt hàng, mà theo như cách tính ở trên thì chỉ áp dụng cho 1 mặt hàng A thôi. Rất mong nhờ sự giúp đỡ. D dcba12360
Thành viên mới 
Tham gia 28/4/09 Bài viết 5 Được thích 1 Hi anh/chị, Mình ứng dụng file này để tính tỷ giá ghi nhận doanh thu ứng trước mà chưa được, nhờ mọi người hỗ trợ xem giúp với nhé! Cám ơn mọi người! File đính kèm
- FIFO calculation.xlsx FIFO calculation.xlsx 18 KB · Đọc: 41
Phan Thế Hiệp
-⍟-
Tham gia 10/10/17 Bài viết 3,688 Được thích 12,718 Giới tính Namdcba12360 đã viết: Hi anh/chị, Mình ứng dụng file này để tính tỷ giá ghi nhận doanh thu ứng trước mà chưa được, nhờ mọi người hỗ trợ xem giúp với nhé! Cám ơn mọi người! Nhấp chuột vào đây để mở rộng...
- Bạn không nên hỏi cùng 1 vấn đề đăng trên nhiều mục, như vậy là phạm quy. Do tôi xem thấy chủ đề bạn hỏi phù hợp với chủ đề ở bài 1, nên tôi sẽ hỗ trợ bạn tại đây. Bạn nên xóa bớt bên kia: https://www.giaiphapexcel.com/diend...về-công-thức-phần-3.98261/page-32#post-918136, và ghi rõ lý do xóa.
- Bạn chép công thức của chị @handung107, nhưng lại Chọn toàn bộ cột rồi dán cùng 1 công thức, cho nên sai ý của người hướng dẫn. Đúng ra, đó chỉ là Công thức của 1 ô mà thôi, dán xong vào ô phù hợp, rồi copy ô đó (hay gọi là FILL) xuống dưới, lúc đó nó mới ra đúng.
- Trong công thức của chị @handung107 cho Cột D có sử dụng mảng, mà nếu bạn áp dụng vào file của bạn, dù chỉ với 213 dòng, nhưng nó sẽ tạo 1 mảng 2 chiều (vuông): 213 x 213 = 45.369 ô khá lớn, nếu dữ liệu bạn càng lớn thì số ô của mảng càng tăng thêm sẽ làm chậm máy. Cụ thể, mảng vuông đó tạo từ công thức:
- MMULT(--(ROW(Q)>=TRANSPOSE(ROW(Q))),(Q>0)*Q) --> công thức này mục đích tạo ra mảng kết quả là "số cộng lũy kế" của các giá trị nhập hàng từ trên xuống dưới, bỏ qua các dòng xuất, Ví dụ: theo dữ liệu của bạn:
- Dòng 1 nhập 10.000 --> Lũy kế 10.000
- Dòng 2 nhập 130.000 --> Lũy kế 140.000
- Dòng 3 là dòng xuất hàng --> Lũy kế 140.000
- Dòng 4 là dòng xuất hàng --> Lũy kế 140.000
- Dòng 5 nhập 55.000 -->Lũy kế 195.000
- ....(Xem cột H)
- Do chỉ là mục đích tìm "Mảng các số lũy kế" của số lượng nhập, nên bạn có thể thay thế công thức trên bằng bằng công thức dưới đây, cũng cho ra kết quả như nhau, nhưng nó tạo 1 mảng 1 chiều tương ứng với số dòng mà bạn có thể không chế:
- SUMIF(OFFSET($B$1,,,ROW($1:$300)),">0"), tức mảng chỉ chứa có 300 ô thôi. Nếu số dòng bạn nhiều hơn, Vd: 567 dòng bạn có thể thay bằng ROW($1:$600) (Xem cột I)
- Các công thức còn lại, bạn có thể giữ nguyên như bài #1 hướng dẫn.
- MMULT(--(ROW(Q)>=TRANSPOSE(ROW(Q))),(Q>0)*Q) --> công thức này mục đích tạo ra mảng kết quả là "số cộng lũy kế" của các giá trị nhập hàng từ trên xuống dưới, bỏ qua các dòng xuất, Ví dụ: theo dữ liệu của bạn:
File đính kèm
- FIFO calculation.xlsx FIFO calculation.xlsx 46.2 KB · Đọc: 118
dcba12360
Thành viên mới 
Tham gia 28/4/09 Bài viết 5 Được thích 1 Phan Thế Hiệp đã viết:Thiện cảm ơn nhiều, đúng là ở cột D dùng công thức tạo mảng sẽ khiến máy chậm rì!!! File này rất có ích cho công ty mình để ghi nhận doanh thu gia công khi đã ứng tiền trước từ công ty mẹ. Thanks a lot!Xem file kèm mà tôi đã chỉnh lại cho bạn. Thân Nhấp chuột vào đây để mở rộng...
- Bạn không nên hỏi cùng 1 vấn đề đăng trên nhiều mục, như vậy là phạm quy. Do tôi xem thấy chủ đề bạn hỏi phù hợp với chủ đề ở bài 1, nên tôi sẽ hỗ trợ bạn tại đây. Bạn nên xóa bớt bên kia: https://www.giaiphapexcel.com/diendan/threads/hỏi-nhanh-đáp-nhanh-về-công-thức-phần-3.98261/page-32#post-918136, và ghi rõ lý do xóa.
- Bạn chép công thức của chị @handung107, nhưng lại Chọn toàn bộ cột rồi dán cùng 1 công thức, cho nên sai ý của người hướng dẫn. Đúng ra, đó chỉ là Công thức của 1 ô mà thôi, dán xong vào ô phù hợp, rồi copy ô đó (hay gọi là FILL) xuống dưới, lúc đó nó mới ra đúng.
- Trong công thức của chị @handung107 cho Cột D có sử dụng mảng, mà nếu bạn áp dụng vào file của bạn, dù chỉ với 213 dòng, nhưng nó sẽ tạo 1 mảng 2 chiều (vuông): 213 x 213 = 45.369 ô khá lớn, nếu dữ liệu bạn càng lớn thì số ô của mảng càng tăng thêm sẽ làm chậm máy. Cụ thể, mảng vuông đó tạo từ công thức:
- MMULT(--(ROW(Q)>=TRANSPOSE(ROW(Q))),(Q>0)*Q) --> công thức này mục đích tạo ra mảng kết quả là "số cộng lũy kế" của các giá trị nhập hàng từ trên xuống dưới, bỏ qua các dòng xuất, Ví dụ: theo dữ liệu của bạn:
- Dòng 1 nhập 10.000 --> Lũy kế 10.000
- Dòng 2 nhập 130.000 --> Lũy kế 140.000
- Dòng 3 là dòng xuất hàng --> Lũy kế 140.000
- Dòng 4 là dòng xuất hàng --> Lũy kế 140.000
- Dòng 5 nhập 55.000 -->Lũy kế 195.000
- ....(Xem cột H)
- Do chỉ là mục đích tìm "Mảng các số lũy kế" của số lượng nhập, nên bạn có thể thay thế công thức trên bằng bằng công thức dưới đây, cũng cho ra kết quả như nhau, nhưng nó tạo 1 mảng 1 chiều tương ứng với số dòng mà bạn có thể không chế:
- SUMIF(OFFSET($B$1,,,ROW($1:$300)),">0"), tức mảng chỉ chứa có 300 ô thôi. Nếu số dòng bạn nhiều hơn, Vd: 567 dòng bạn có thể thay bằng ROW($1:$600) (Xem cột I)
- Các công thức còn lại, bạn có thể giữ nguyên như bài #1 hướng dẫn.
Phan Thế Hiệp
-⍟-
Tham gia 10/10/17 Bài viết 3,688 Được thích 12,718 Giới tính Namdcba12360 đã viết: Thiện cảm ơn nhiều, đúng là ở cột D dùng công thức tạo mảng sẽ khiến máy chậm rì!!! File này rất có ích cho công ty mình để ghi nhận doanh thu gia công khi đã ứng tiền trước từ công ty mẹ. Cảm ơn a lot! Nhấp chuột vào đây để mở rộng...Việc tính Nhập Xuất Tồn theo FIFO (NXT-FIFO) như chủ đề tại đây, áp dụng hữu hiệu cho việc theo dõi "Tính chênh lệch tỷ giá" cho 1 loại ngoại tệ nào đó, vì phải cần theo dõi "Giá Ghi sổ" và "Giá Giao dịch" thực tế tại thời điểm phát sinh. Cũng rất phù hợp cho việc bạn theo dõi Cân đối: Doanh thu ứng trước/ Xuất hàng Gia công. Tức nôm na nó chỉ theo dõi "1 mã hàng" duy nhất, Vd: Mã "ngoại tệ USD", hoặc "ngoại tệ EUR".... Ưu điểm của công thức mảng nó trả về kết quả rất đáng kinh ngạc!
File đính kèm
- (2019) TheoDoi DoanhThuGiaCong.xlsx (2019) TheoDoi DoanhThuGiaCong.xlsx 371.2 KB · Đọc: 90
dcba12360
Thành viên mới 
Tham gia 28/4/09 Bài viết 5 Được thích 1 Phan Thế Hiệp đã viết:Hi anh Hiệp, Em đang tiếp tục cập nhật dữ liệu cho năm 2019 và số dòng sắp vượt mức 300, em có thay ROW($1:$600) và chạy lại công thức mảng ở cột D thì ra toàn số 1Xem file kèm mà tôi đã chỉnh lại cho bạn. Thân Nhấp chuột vào đây để mở rộng...
- Bạn không nên hỏi cùng 1 vấn đề đăng trên nhiều mục, như vậy là phạm quy. Do tôi xem thấy chủ đề bạn hỏi phù hợp với chủ đề ở bài 1, nên tôi sẽ hỗ trợ bạn tại đây. Bạn nên xóa bớt bên kia: https://www.giaiphapexcel.com/diendan/threads/hỏi-nhanh-đáp-nhanh-về-công-thức-phần-3.98261/page-32#post-918136, và ghi rõ lý do xóa.
- Bạn chép công thức của chị @handung107, nhưng lại Chọn toàn bộ cột rồi dán cùng 1 công thức, cho nên sai ý của người hướng dẫn. Đúng ra, đó chỉ là Công thức của 1 ô mà thôi, dán xong vào ô phù hợp, rồi copy ô đó (hay gọi là FILL) xuống dưới, lúc đó nó mới ra đúng.
- Trong công thức của chị @handung107 cho Cột D có sử dụng mảng, mà nếu bạn áp dụng vào file của bạn, dù chỉ với 213 dòng, nhưng nó sẽ tạo 1 mảng 2 chiều (vuông): 213 x 213 = 45.369 ô khá lớn, nếu dữ liệu bạn càng lớn thì số ô của mảng càng tăng thêm sẽ làm chậm máy. Cụ thể, mảng vuông đó tạo từ công thức:
- MMULT(--(ROW(Q)>=TRANSPOSE(ROW(Q))),(Q>0)*Q) --> công thức này mục đích tạo ra mảng kết quả là "số cộng lũy kế" của các giá trị nhập hàng từ trên xuống dưới, bỏ qua các dòng xuất, Ví dụ: theo dữ liệu của bạn:
- Dòng 1 nhập 10.000 --> Lũy kế 10.000
- Dòng 2 nhập 130.000 --> Lũy kế 140.000
- Dòng 3 là dòng xuất hàng --> Lũy kế 140.000
- Dòng 4 là dòng xuất hàng --> Lũy kế 140.000
- Dòng 5 nhập 55.000 -->Lũy kế 195.000
- ....(Xem cột H)
- Do chỉ là mục đích tìm "Mảng các số lũy kế" của số lượng nhập, nên bạn có thể thay thế công thức trên bằng bằng công thức dưới đây, cũng cho ra kết quả như nhau, nhưng nó tạo 1 mảng 1 chiều tương ứng với số dòng mà bạn có thể không chế:
- SUMIF(OFFSET($B$1,,,ROW($1:$300)),">0"), tức mảng chỉ chứa có 300 ô thôi. Nếu số dòng bạn nhiều hơn, Vd: 567 dòng bạn có thể thay bằng ROW($1:$600) (Xem cột I)
- Các công thức còn lại, bạn có thể giữ nguyên như bài #1 hướng dẫn.
YenTon
Thành viên mới 
Tham gia 17/9/20 Bài viết 12 Được thích 3 handung107 đã viết: Workman bổ sung Thực ra lệnh ROW(Q)>=TRANSPOSE(ROW(Q)) xuất ra mảng như thế này. 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Bạn hỏi mục đích tại sao lại phải tạo ra mảng này? Thực ra phải đi từ mục đích cuối cùng ra. Mục đích chính của bài toán là tìm thời điểm (dòng số mấy) của cái gọi là "First In" stock. Muốn làm như thế bắt buộc phải tạo ra một mảng thể hiện tổng số hàng nhập kho (giống như sổ kho vậy đó), sau đó trừ số xuất kho sẽ tìm được thằng "First In" mới. Mảng cần tìm chính là mảng số 2. Có bạn sẽ bật cười vì để tạo mảng số 2 ta có thể làm công thức sum(B$1:B2) rồi kéo xuống, tại sao lại phải làm 1 công thức loằng ngoằng cho đời thêm phức tạp. Nhưng thực tế nếu dùng hàm SUM ta phải làm thêm một cột phụ. Do đó, cách làm của tác giả tuy khó hiểu 1 chút nhưng vấn là best solution. Nhấp chuột vào đây để mở rộng...
Tran Quan đã viết: Chào chị handung107 Cái công thức mãng của chị hay thật. Bên cty em muốn lập sổ chi tiết hàng hoá theo FIFO cho chi tiết từng mặt hàng. Tức là khi xuất số lượng (SL) của 1 mặt hàng nào đó thì nó tự tìm biết là SL tồn trước dó là bao nhiêu tương ưng với các giá đã tồn trước đó và xuất giá của lô nào tồn trước thành một dòng (1 row) và phần còn thiếu thì xuất tiếp của lô nhập sau thành dòng kế tiếp và cứ thế cho đến khi đủ thì thôi. Mình nghĩ phải dùng macro và kết hợp với công thức mãng thì mới được. Mình suy nghĩ muốn nát cái não nhưng không làm được. Mình chỉ có một đoạn code của nước ngoài để tính FIFO, nhưng nó tính theo kiểm kê định kỳ. Tức là tính trị giá tồn cuối kỳ trước rồi trừ ngược lại để ra trị giá xuất kho trong kỳ. Tuy nhiên code này chưa hoàn hảo lắm. Mình đã kiểm tra chúng. Hy vọng mọi người ghi nhận vấn đề này và cùng nhau giải quyết. Chào chị và các thành viên khác! Nhấp chuột vào đây để mở rộng...Chào chị handung, bài viết của chị rất bổ ích Em có bảng biểu lịch sử nhập các nguyên vật liệu (ngày tháng nhập, số lượng nhập...),tồn kho hiện tại như trên Xuất hàng theo đúng FIFO (Nhập trước xuất truớc) rồi ạ Bây giờ em muốn đặt công thức để có thể tìm ra lượng tồn kho hiện tại là của những ngày nào, ra được kết quả như cột G em làm thủ công Rất mong nhận được sự giúp đỡ của chị và mọi người Em cám ơn ạ!
File đính kèm
-
IMG_20221015_132738.jpg 69 KB · Đọc: 18 - MB51 1014.XLSX MB51 1014.XLSX 91.2 KB · Đọc: 25
YenTon
Thành viên mới 
Tham gia 17/9/20 Bài viết 12 Được thích 3 YenTon đã viết: Chào chị handung, bài viết của chị rất bổ ích Em có bảng biểu lịch sử nhập các nguyên vật liệu (ngày tháng nhập, số lượng nhập...),tồn kho hiện tại như trên Xuất hàng theo đúng FIFO (Nhập trước xuất truớc) rồi ạ Bây giờ em muốn đặt công thức để có thể tìm ra lượng tồn kho hiện tại là của những ngày nào, ra được kết quả như cột G em làm thủ công Rất mong nhận được sự giúp đỡ của chị và mọi người Em cám ơn ạ! Nhấp chuột vào đây để mở rộng...Qua bài viết trên diễn đàn em đã mày mò, đặt công thức như hình dưới Bác nào có công thức hay hơn, chia sẻ càng tốt ạ Em cám ơn!
File đính kèm
-
IMG_20221016_064314.jpg 120.9 KB · Đọc: 38
Phan Thế Hiệp
-⍟-
Tham gia 10/10/17 Bài viết 3,688 Được thích 12,718 Giới tính NamYenTon đã viết: Qua bài viết trên diễn đàn em đã mày mò, đặt công thức như hình dưới Bác nào có công thức hay hơn, chia sẻ càng tốt ạ Em cám ơn! Nhấp chuột vào đây để mở rộng...Trên diễn đàn này không có vụ so sánh: công thức hay hoặc dỡ hơn, chỉ có 1 công thức hoặc nhiều công thức trả ra kết quả chính xác hoặc chưa chính xác thôi. Bạn mò và làm được như bạn muốn là tốt rồi, đăng chi nhiều bài để vi phạm vào nội quy diễn đàn hở bạn!? Thân Y
YenTon
Thành viên mới 
Tham gia 17/9/20 Bài viết 12 Được thích 3 Phan Thế Hiệp đã viết: Trên diễn đàn này không có vụ so sánh: công thức hay hoặc dỡ hơn, chỉ có 1 công thức hoặc nhiều công thức trả ra kết quả chính xác hoặc chưa chính xác thôi. Bạn mò và làm được như bạn muốn là tốt rồi, đăng chi nhiều bài để vi phạm vào nội quy diễn đàn hở bạn!? Thân Nhấp chuột vào đây để mở rộng...Dạ, lúc đó em đang tìm công thức, lang thang đọc các bài đăng trên diễn đàn, thấy bài viết nào có nội dung gần tương tự em mới hỏi thôi ạ. Tìm được rồi thì em đăng lại để chia sẻ với mọi người, với để bác nào quan tâm câu hỏi trước của em, thì không cần bận tâm nữa thôi, em đăng nhiều bài là vậy đấy ạ H
Hoàng Tuấn 868
Đăng ký hôm qua
Thành viên bị đình chỉ hoạt động Tham gia 9/11/19 Bài viết 6,307 Được thích 5,997YenTon đã viết: em đăng nhiều bài là vậy đấy ạ Nhấp chuột vào đây để mở rộng...Ai cũng đăng nhiều bài nội dung giống nhau thế này thì GPE chắc chẳng mấy chốc thành thùng rác mất thôi. Lần chỉnh sửa cuối: 16/10/22 H
hoai123457890
Thành viên mới 
Tham gia 9/11/22 Bài viết 8 Được thích 0 e chào anh chị. nhờ mọi người giúp đỡ link được công thức ngày sử dụng linh kiện ( theo fifo cấp vào kho). Cột e đang cần là điền ngày xuất kho cho từng model với lượng sử dụng như bên dưới. Ví dụ trong sheet 3 ngày xuất kho là 500pcs 15.06 và 1000pcs 19.06 thì các mã linh kiện lượng dùng 300pcs( phải là ngày xuất kho 15.06) và lượng sử dụng 420pcs là lấy từ xuất kho 19.06 ạ.E cảm ơn
File đính kèm
- dữ liệu link hải quan.xlsx dữ liệu link hải quan.xlsx 462.8 KB · Đọc: 7
Bài viết mới nhất
H Lọc giá trị duy nhất theo cụm- hoaiantrinh
- Thứ ba lúc 14:58
- Hàm và công thức Excel
- Question Question
- ongke0711
- 6/10/24
- Lập Trình với Excel
- SA_DQ
- 3/11/25
- Chia sẻ
- nguyendang95
- 6/7/25
- Excel và các ngôn ngữ lập trình khác
- Michael Bit
- Thứ hai lúc 08:44
- Hỏi đáp những vấn đề khác
- GPE-Trợ Lý
- Thứ ba lúc 10:45
- Thông tin về diễn đàn
- lehang0812
- 5/2/26
- TPHCM
- Đã giải quyết
- HeSanbi
- 18/4/21
- Lập Trình với Excel
- Đã giải quyết
- HeSanbi
- 5/3/21
- Lập Trình với Excel
- Dán lên cao
- Nguyễn Duy Tuân
- 13/9/24
- BLUESOFTS: A-Excel, A-Tools
- Excel my love_1
- 15/4/23
- Tin học mở rộng
- Question Question
- Quang_Hải
- 4/2/26
- Lập Trình với Excel
- HeSanbi
- 27/11/25
- Các Add-ins cho excel
- Question Question
- HeSanbi
- 2/2/26
- Lập Trình với Excel
- TranThanhPhong
- 30/4/14
- Dự án: Công thức & Hàm 97-2019
- giaiphap
- 8/8/15
- Các Add-ins cho excel
- vietdang170
- 28/1/26
- Các Add-ins cho excel
- hoanglocphat
- 2/2/26
- Hỏi đáp những vấn đề khác
- mrjun80
- 31/1/26
- Hàm và công thức Excel
- nguyendang95
- 23/1/26
- Excel và các ngôn ngữ lập trình khác
Thành viên có số lượng bài viết cao nhất tháng
- HeSanbi 14
- chothadiem 11
- Michael Bit 6
- HieuCD 5
- Gà Công Nghệ 5
- YêuCN 4
- Officexinh 4
- vietdang170 4
- pycckuu410 3
- chiendich 3
- DeTong 3
- hoanglocphat 3
- LOGANWover 2
- VietHoangPhan 2
- Gà Con yêu VBA 2
- Quang_Hải 2
- hoaiantrinh 2
- vuvannguyen1972 1
- ptm0412 1
- 87kilua 1
Thành viên có điểm tương tác cao nhất tháng
- HeSanbi 19
- Quang_Hải 7
- GPE-Trợ Lý 7
- vietdang170 5
- HieuCD 4
- Gà Con yêu VBA 4
- pycckuu410 3
- chiendich 3
- DeTong 3
- Phuocam 3
- HUONGHCKT 2
- YêuCN 2
- Officexinh 2
- LOGANWover 1
- Michael Bit 1
- nguyendang95 1
Thời gian đếm ngược.
000 Ngày 00 Giờ 00 phút 00 giây Thân mời tham dự sự kiện sinh nhật GPE 2025- Trang chủ
- Diễn đàn
- Excel và Kế Toán
- Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Từ khóa » Công Thức Excel Fifo
-
FIFO - VIẾT CÔNG THỨC - PHẦN 2 - ILOVEEXCEL! - YouTube
-
Tự Tạo Công Thức Tính Giá Xuất Kho Theo Phương Pháp FIFO - Phần 1
-
Phương Pháp FIFO Với Excel Trong Việc Quản Lý Kho
-
Áp Dụng Phương Pháp FIFO để Tính Giá Xuất Kho Trong Excel (phần 1)
-
Hướng Dẫn Xuất Kho Theo Phương Pháp FIFO Trong Excel Và Add-in ...
-
Phương Pháp Tính Giá Hàng Tồn Kho – FIFO & LIFO Trên Excel
-
Tự Tạo Công Thức Tính Giá Xuất Kho Theo Phương Pháp FIFO – Phần 2
-
Ví Dụ FIFO-Vận Dụng Công Thức Mảng - Mạng Xã Hội Webketoan
-
Tự Tạo Công Thức Tính Giá Xuất Kho Theo Phương Pháp FIFO – Phần 1
-
1️⃣【Tự Tạo Công Thức Tính Giá Xuất Kho Theo Phương Pháp FIFO ...
-
Các Phương Pháp Tính Giá Xuất Kho Của Hàng Tồn Kho
-
Công Thức Cho Xuất Nhập FIFO | Diễn đàn Dân Kế Toán - Thuế
-
Phương Pháp Nhập Trước Xuất Trước (FIFO - First In First Out)