Nhảy lung tung, là sao hở bạn, bạn có thể nói rõ hơn lung tung là thế nào?
Có phải là: mấy cái dòng "vật liệu khác", "máy khác" nó không nằm cố định?
Tôi hỏi vậy, vì tôi đã test đi test lại với rất nhiều mã hiệu khác nhau, đều đúng cả. Chỉ trừ trường hợp mà tôi đã nói ở trên, là những mục mà dòng mã hiệu trùng với dòng liệt kê máy, nhân công hoặc vật liệu (ví dụ như ở A96 = AB.33191), tôi đã đề nghị bạn trình bày lại Sheet1 theo một mẫu thống nhất.
Ngoại trừ những trường hợp như tôi vừa nói, còn những trường hợp khác, bạn có thể nêu một ví dụ cho tôi xem thử "nhảy lung tung" là như thế nào không?
Khi lập công thức cho file này, mình đã cố tình làm như vậy, mục đích chỉ là cho đẹp mà thôi. Có nghĩa là, 2 dòng này: "vật liệu khác", "máy khác" luôn luôn nằm sát với danh mục vật liệu và máy ở phía trên nó. Tôi làm như vậy, để nếu mà gặp trường hợp không có vật liệu, thì cũng không có "vật liệu khác", với trường hợp không có máy, thì cũng không có "máy khác", như vậy thì hợp lý hơn chứ bạn?
Và nếu bạn xem kỹ các công thức, bạn sẽ thấy tôi dùng IF để phân biệt rõ ràng, nếu là vật liệu và máy bình thường thì tính kiểu khác, còn nếu "vật liệu khác" hay "máy khác" thì tính kiểu khác, để bảo đảm cho kết quả chính xác.
Tuy nhiên, nếu bạn thích để "vật liệu khác" và "máy khác" khác nằm cố định một chỗ, thì nói thật khỏe hơn nhiều! Công thức sẽ ngắn hơn nữa. Ví dụ, công thức để trích ra đơn giá:
=IF(C12="Vật liệu khác",SUMIF($C$11:$C$20,CONCATENATE("<>","Vật liệu khác"),$G$11:$G$20),IF(OFFSET(Sheet1!$A$1,MATCH($B$9,Sheet1!$A:$A,0)+ROW()-11,2)="V",OFFSET(Sheet1!$A$1,MATCH($B$9,Sheet1!$A:$A,0)+ROW()-11,COLUMN()),0))
Nếu làm như bạn muốn, thì sẽ không còn trường hợp =IF(C12="Vật liệu khác"... nữa.
Nhưng cái quan trọng là:
Kết quả có đúng hay không?
Nghĩa là, khi bạn nhập mã hiệu định mức vào trong ô B9, thì con số trong G9 (màu đỏ, gạch dưới) có đúng không (giữa cái của tôi làm và cái bạn làm); và danh mục những vật liệu, máy, nhân công trong cột C, cùng với các đơn vị tính, đơn giá của nó có đúng không?