Gỡ rối: Hàm if lòng nhiều hàm sumif nên không tận dụng hết công thức được (1 người xem)

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

kimhuong200787

Thành viên mới
Tham gia
27/10/10
Bài viết
19
Được thích
0
Gởi các GPE!
Em đang có vấn đề gặp khó khăn nhờ các Pro tham khảo.
From này em làm với dung lượng lớn nên em chỉ trích một phần gặp khó khăn thôi.
Sheet Size!
Cột SLKH: lấy dữ liệu từ Sheet SOLUONG, theo điều kiện đúng với Mã hàng + Size của SOLUONG.
Vì Sheet SOLUONG có nhiều size nên chia cột theo size. Khi số lượng size nhiều hơn 7 size (tương đương sẽ có 07 hàm if) thì công thức sẽ không cho phép có nhiều điều kiện hơn nữa.
Các bạn giúp mình tạo công thức để mình tận dụng tối đa 9 size = 9 cột SL nhé.
Vì form này rất nhiều liên kết, các bạn thông cảm mình không thể thay đổi vị trí cấu trúc của form, mà chỉ muốn dùng công thức để làm ra kết quả đó thôi.
Máy mình hơi chậm, không dùng macro.
Cảm ơn các bạn đã quan tâm và chia sẻ.
 

File đính kèm

Gởi các GPE!
Em đang có vấn đề gặp khó khăn nhờ các Pro tham khảo.
From này em làm với dung lượng lớn nên em chỉ trích một phần gặp khó khăn thôi.
Sheet Size!
Cột SLKH: lấy dữ liệu từ Sheet SOLUONG, theo điều kiện đúng với Mã hàng + Size của SOLUONG.
Vì Sheet SOLUONG có nhiều size nên chia cột theo size. Khi số lượng size nhiều hơn 7 size (tương đương sẽ có 07 hàm if) thì công thức sẽ không cho phép có nhiều điều kiện hơn nữa.
Các bạn giúp mình tạo công thức để mình tận dụng tối đa 9 size = 9 cột SL nhé.
Vì form này rất nhiều liên kết, các bạn thông cảm mình không thể thay đổi vị trí cấu trúc của form, mà chỉ muốn dùng công thức để làm ra kết quả đó thôi.
Máy mình hơi chậm, không dùng macro.
Cảm ơn các bạn đã quan tâm và chia sẻ.
Mình không có xem file của bạn nhưng mình chia sẻ kinh nghiệm về vấn đề của bạn như sau
1. Chính vì máy chậm nên càng nên sử dụng macro cho nhẹ tính toán
2. Nếu có số lần If nhiều quá thì cứ 7 cái If thì mình gán cho nó 1 cái name. Như vậy bạn muốn If bao nhiêu tùy ý. Lúc đó cú pháp sẽ là If(name,name),If(name,name),If....
 
Gởi các GPE!
Em đang có vấn đề gặp khó khăn nhờ các Pro tham khảo.
From này em làm với dung lượng lớn nên em chỉ trích một phần gặp khó khăn thôi.
Sheet Size!
Cột SLKH: lấy dữ liệu từ Sheet SOLUONG, theo điều kiện đúng với Mã hàng + Size của SOLUONG.
Vì Sheet SOLUONG có nhiều size nên chia cột theo size. Khi số lượng size nhiều hơn 7 size (tương đương sẽ có 07 hàm if) thì công thức sẽ không cho phép có nhiều điều kiện hơn nữa.
Các bạn giúp mình tạo công thức để mình tận dụng tối đa 9 size = 9 cột SL nhé.
Vì form này rất nhiều liên kết, các bạn thông cảm mình không thể thay đổi vị trí cấu trúc của form, mà chỉ muốn dùng công thức để làm ra kết quả đó thôi.
Máy mình hơi chậm, không dùng macro.
Cảm ơn các bạn đã quan tâm và chia sẻ.
1/ Sheet Size, cột C của bạn có XL, 2XL, 3XL trong khi sheet SOLUONG chỉ có 1X, 2X, 3X làm sao tìm?
2/ Nếu chỉnh lại đúng các mã thì xem thử Sumproduct() trong file này.
3/ Máy yếu cần nên dùng VBA chứ file chứa "cả đống" công thức càng "bị rùa".
 

File đính kèm

Thử công thức này xem:
E5: =IF($A5="","",SUMIF(MAHANG,$A5,OFFSET(MAHANG,,2+MATCH(IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$E$5:$M$5,0),,)))
 
Trong Ô E5 của sheet SIZE bạn dùng công thức này thử nhé
Mã:
=SUMIF(OFFSET(SOLUONG!$B$6,0,0,193,1),SIZE!A5,OFFSET(SOLUONG!$B$6,0,MATCH(SIZE!C5,SOLUONG!$E$2:$M$2,0)+2,193,1))
Chú ý: bạn thống nhất lại mã size nhé, trong sheet số lượng là 1X, 2X... còn trong sheet Size lại là XL, 2XL...
Với công thức này, không cần đặt name như bạn nữa
 
Lần chỉnh sửa cuối:
Cảm ơn các bạn đã chia sẽ, mình sẽ thực hiện thử xem sau.
Chúc các ban GPE làm việc năng động
 
Thử công thức này xem:
E5: =IF($A5="","",SUMIF(MAHANG,$A5,OFFSET(MAHANG,,2+MATCH(IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$E$5:$M$5,0),,)))

Công thức của Anh dùng hay thật. Không cần đổi tên size cột sheet SOLUONG trùng voi sheet SIZE

Nhưng em không hiểu nhiều về ý nghĩa của hàm OFFSET(MAHANG,,2+MATCH(IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$E$5:$M$5,0),,))

OFFSET thi em đã từng áp dụng nhưng công thức này thì bó tay.
Nhưng kết quả thật tuyệt vời.
Cảm ơn anh nhiều.
 
Giống như công thức ở bài #5 thôi, thay vì bạn phải sửa mã size thì công thức SUBSTITUTE đã thay thế "XL" bằng "X" ở cột C : SUBSTITUTE ($C5,"XL","X")
 
Thử công thức này xem:
E5: =IF($A5="","",SUMIF(MAHANG,$A5,OFFSET(MAHANG,,2+MATCH(IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$E$5:$M$5,0),,)))

Nếu em làm công thức như vậy để áp dụng với các Số lượng khác, lại không cho kết quả như thế.
Có ai xem lại dùm mình với.
Em muốn lấy số liệu theo:
* SLKH
* SLTC
* SLMG
Có áp dụng được SLKH rùi. Còn các SLTC & SLMG nhờ các bác GPE chỉ giúp
Cảm ơn mọi người.
 

File đính kèm

Bạn chưa thuộc hàm OFFSET rồi:
E5 =IF($A5="","",SUMIF(MAHANG,$A5,OFFSET(MAHANG,,12+MATCH("C-"&IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$O$5:$W$5,0),,)))
F5 =IF($A5="","",SUMIF(MAHANG,$A5,OFFSET(MAHANG,,22+MATCH("M-"&IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$Y$5:$AG$5,0),,)))
 
Bạn chưa thuộc hàm OFFSET rồi:
E5 =IF($A5="","",SUMIF(MAHANG,$A5,OFFSET(MAHANG,,12+MATCH("C-"&IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$O$5:$W$5,0),,)))
F5 =IF($A5="","",SUMIF(MAHANG,$A5,OFFSET(MAHANG,,22+MATCH("M-"&IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$Y$5:$AG$5,0),,)))

Anh leonguyenz, nếu em thêm điều kiện: Phải đúng màu TOM DAM thì em làm công thức như thế này:
E5 =IF($A5="","",SUMIF(OFFSET(MAHANG,,12+MATCH("C-"&IF($C5="XL","1X",SUBSTITUTE($C5,"XL","X")),SOLUONG!$O$5:$W$5,0),,),MAHANG,$A5,MAU,"TOM DAM))
Nhưng báo lỗi #NA mất rùi
Anh giúp em sửa lại với nhé.
Cảm ơn anh nhiều
 

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

Back
Top Bottom