Bài tập về công thức mảng

  • Thread starter Thread starter cutcanh
  • Ngày gửi Ngày gửi
Liên hệ QC

cutcanh

Thành viên mới
Tham gia
22/9/11
Bài viết
10
Được thích
4
Các bác ơi, giải giúp em để bài tập này với.
Em làm đến câu số 15 rồi, còn lại các câu tìm ô có giá trị bán hàng lớn nhất mà đề không có dữ liệu và cũng không cho thêm bảng phụ, chỉ dùng công thức excel. hix
Em cảm ơn các bác.
 

File đính kèm

Tôi không hiểu ý. Từ bảng ở sheet DU_LIEU_CHINH bạn có thể lọc ra những DÒNG có ở cột E Winner*. Trong những dòng "đó" có thể xác định dòng nào có ở cột J giá trị cao nhất. Lúc đó liếc sang cột D của dòng "đó" là có khách hàng mua nhiều sơn Winner.

Trên đây là gợi ý về thuật toán. Việc của bạn là viết công thức để thực hện thuật toán đó. Nếu bạn thích bảng phụ thì lập bảng phụ vd. là bảng kết quả của bước 1 đi.
 
Các bác ơi, giải giúp em để bài tập này với.
Em làm đến câu số 15 rồi, còn lại các câu tìm ô có giá trị bán hàng lớn nhất mà đề không có dữ liệu và cũng không cho thêm bảng phụ, chỉ dùng công thức excel. hix
Em cảm ơn các bác.
Bạn tham khảo câu 16:
=INDEX(DU_LIEU_CHINH!D4:d33,MATCH(MAX(DU_LIEU_CHINH!F4:F33*DU_LIEU_CHINH!G4:G33*--(LEFT(DU_LIEU_CHINH!E4:E33,6)="WINNER")),(DU_LIEU_CHINH!F4:F33*DU_LIEU_CHINH!G4:G33),0))
 
Lần chỉnh sửa cuối:
Tôi không hiểu ý. Từ bảng ở sheet DU_LIEU_CHINH bạn có thể lọc ra những DÒNG có ở cột E Winner*. Trong những dòng "đó" có thể xác định dòng nào có ở cột J giá trị cao nhất. Lúc đó liếc sang cột D của dòng "đó" là có khách hàng mua nhiều sơn Winner.

Trên đây là gợi ý về thuật toán. Việc của bạn là viết công thức để thực hện thuật toán đó. Nếu bạn thích bảng phụ thì lập bảng phụ vd. là bảng kết quả của bước 1 đi.
Bác ơi, bài tập yêu cầu ko đc lập bảng phụ, chỉ bằng công thức mà ra được đáp án ý ạ.
Bài đã được tự động gộp:

Bạn tham khảo câu 16:
=INDEX(DU_LIEU_CHINH!D4:d33,MATCH(MAX(DU_LIEU_CHINH!F4:F33*DU_LIEU_CHINH!G4:G33*--(LEFT(DU_LIEU_CHINH!E4:E33,6)="WINNER")),(DU_LIEU_CHINH!F4:F33*DU_LIEU_CHINH!G4:G33),0))
Cảm ơn bác, nhưng mà em lên file thì bị #Value ạ. hix.
 
Lần chỉnh sửa cuối:
Bác ơi, bài tập yêu cầu ko đc lập bảng phụ, chỉ bằng công thức mà ra được đáp án ý ạ.
Bài đã được tự động gộp:


Cảm ơn bác, nhưng mà em lên file thì bị #Value ạ. hix.
Tôi thấy công thức ra kết quả bthuong mà. Bạn xem file đính kèm thử
 

File đính kèm

Bác ơi, bài tập yêu cầu ko đc lập bảng phụ, chỉ bằng công thức mà ra được đáp án ý ạ.
Bài đã được tự động gộp:


Cảm ơn bác, nhưng mà em lên file thì bị #Value ạ. hix.
Bạn xem vòng trong hình có chỗ đánh dấu màu xanh, sửa chỗ đó là hết lỗi.
Tôi thấy công thức ra kết quả bthuong mà. Bạn xem file đính kèm thử
Bác cho em hỏi, nếu có cùng 1 khách hàng mua sơn loại Winner nhiều lần khác nhau và tổng giá trị là lớn nhất nhưng mỗi lần mua thì không phải lớn nhất. Nhưng vậy công thức sẽ bị sai, em thử thêm vào 1 dòng nhưng trong hình.
1638852536065.png
 
Bác cho em hỏi, nếu có cùng 1 khách hàng mua sơn loại Winner nhiều lần khác nhau và tổng giá trị là lớn nhất nhưng mỗi lần mua thì không phải lớn nhất. Nhưng vậy công thức sẽ bị sai, em thử thêm vào 1 dòng như trong hình.
Bài toán chỉ là dạng bài tập để luyện cho quen với công thức mảng mà thôi! Như bạn hỏi thì hơi cắc cớ cho 1 dạng bài tập cơ bản, nhưng trong thực tế nó có thể phát sinh.

Trường hợp nếu thực tế có dữ liệu và yêu cầu như bạn thắc mắc, thì tốt nhất và đơn giản hơn là tạo thêm 2 cột phụ:
1/ Cột "Thành tiền"= "Số lượng" x "Đơn giá".
2/ Cột "Tổng Mua" lọc theo từng khách hàng và mặt hàng (dùng SUMIFS).

Rồi dựa trên cột "Tổng Mua" này mà chọn ra khách hàng có Doanh số mua lớn nhất, công thức sử dụng có thể từa tựa như bài #3.

Còn nếu bạn muốn nghiên cứu thêm cho vui về công thức mảng và không muốn dùng cột phụ, thì làm như vầy:
(Tôi chỉnh tên Sheet: DU_LIEU_CHINH thay bằng DLC nhìn cho gọn)
Mã:
=INDEX(DLC!D4:D40,MOD(AGGREGATE(14,6,MMULT((LEFT(DLC!E4:E40,6)="winner")*(DLC!D4:D40=TRANSPOSE(DLC!D4:D40)),DLC!F4:F40*DLC!G4:G40*(LEFT(DLC!E4:E40,6)="winner"))*1000+ROW(1:100),1),1000))
Kết thúc bằng Ctrl+Shift+Enter.

Lưu ý:
1/ Giả sử có 2 hoặc nhiều khách có cùng doanh số mua thì công thức sẽ chọn người khách nào xuất hiện ở dòng dưới cùng.
2/ Trong trường hợp muốn liệt kê đầy đủ các khách hàng có cùng doanh số mua lớn nhất thì phải dùng công thức khác.

Thân
 

File đính kèm

Lần chỉnh sửa cuối:
toàn bài tập đi học, cùng 1 vấn đề hỏi gỡ rối cấu trúc, công thức mảng... Câu 18, 20 đề một phần đóng góp bên đây
 
Bài toán chỉ là dạng bài tập để luyện cho quen với công thức mảng mà thôi! Như bạn hỏi thì hơi cắc cớ cho 1 dạng bài tập cơ bản, nhưng trong thực tế nó có thể phát sinh.
...
Nếu trên thực tế nó xảy ra thì do quá trình lập dữ liệu có vấn đề. Người sử dụng bảng tính có kinh nghiệm sẽ biết cách thiết kế thế nào để dễ đói phó với loại dữ liệu này.
Người làm việc tốt chận vấn đề từ nơi phát sinh thay vì giải quyết vấn đề bên hậu quả.
Rất tiếc là các Thầy/Cô dạy lại chú ý phần hậu quả bởi vì chúng dễ kiếm tiền hơn.

...
Còn nếu bạn muốn nghiên cứu thêm cho vui về công thức mảng và không muốn dùng cột phụ, thì làm như vầy:
(Tôi chỉnh tên Sheet: DU_LIEU_CHINH thay bằng DLC nhìn cho gọn)
...
Thường thì nếu phải tham chiếu nhiều từ sheet khác thì người ta lập Named Ranges. Trông dễ hiểu hơn.
Phần lớn trường hợp, cột phụ cũng có thể thay được bằng names. Nhưng thường thì chỉ làm rắc rối thêm vấn đề mà chả được lợi bao nhiêu.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom