Hàm IF lồng hàm Concatenate (1 người xem)

Liên hệ QC

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

Seven Nguyen

Thành viên mới
Tham gia
22/8/13
Bài viết
2
Được thích
0
Hi mọi người,

Mình đang làm báo cáo nhưng tới đây thì bí mất.
Mình có các xe chạy trong ngày (1 xe có thể chạy 1 hay nhiều chuyển) giao hàng đến các địa điểm giống và khác nhau.
Để nối các địa điểm giao hàng của 1 xe vào chung một ô mình dùng hàm If lồng Concatenate tuy nhiên cho ra kết quả không chính xác. Bác nào có thể giúp mình gỡ chỗ này không. Đính kèm file excel, các bác xem giúp cột J nhé.
Cảm ơn đã theo dõi.
 

File đính kèm

Hi mọi người,

Mình đang làm báo cáo nhưng tới đây thì bí mất.
Mình có các xe chạy trong ngày (1 xe có thể chạy 1 hay nhiều chuyển) giao hàng đến các địa điểm giống và khác nhau.
Để nối các địa điểm giao hàng của 1 xe vào chung một ô mình dùng hàm If lồng Concatenate tuy nhiên cho ra kết quả không chính xác. Bác nào có thể giúp mình gỡ chỗ này không. Đính kèm file excel, các bác xem giúp cột J nhé.
Cảm ơn đã theo dõi.

Công thức của bạn:
Mã:
=IF([COLOR=#ff0000][B]A3=A4=A5=A6[/B][/COLOR],CONCATENATE(D3,$H$1,D4,$H$1,D5,$H$1,D6),IF([B][COLOR=#ff0000]A3=A4=A5<>D6[/COLOR][/B],CONCATENATE(D3,$H$1,D4,$H$1,D5),IF([B][COLOR=#ff0000]A3=A4<>D5[/COLOR][/B],CONCATENATE(D3,$H$1,D4),D3)))
Nhìn vào cũng chả hiểu bạn muốn gì nữa!
Thôi thì bạn mô tả yêu cầu của bạn đi cho nó nhanh
(mấy chổ màu đỏ là SAI CÚ PHÁP nhé ---> Hổng có cái vụ so sánh kỳ cục kiểu đó đâu)
 
Hi mọi người,

Mình đang làm báo cáo nhưng tới đây thì bí mất.
Mình có các xe chạy trong ngày (1 xe có thể chạy 1 hay nhiều chuyển) giao hàng đến các địa điểm giống và khác nhau.
Để nối các địa điểm giao hàng của 1 xe vào chung một ô mình dùng hàm If lồng Concatenate tuy nhiên cho ra kết quả không chính xác. Bác nào có thể giúp mình gỡ chỗ này không. Đính kèm file excel, các bác xem giúp cột J nhé.
Cảm ơn đã theo dõi.
Mình đang ở chỗ không tải được winrar. Nhưng thấy công thức trong file của bạn qua bác ndu thì "kỳ cục" thật.
Bạn dùng thêm các hàm AND hay OR để thay cho các phần màu đỏ trong công thức xem sao!
 
Bạn dùng thêm các hàm AND hay OR để thay cho các phần màu đỏ trong công thức xem sao!

Vậy với đoạn công thức =IF(A3=A4=A5=A6 bạn sẽ AND hoặc OR thế nào?
(Tôi ngầm hiểu tác giả muốn nói rằng 4 cell ấy bằng nhau đấy)
 
Công thức của bạn:
Mã:
=IF([COLOR=#ff0000][B]A3=A4=A5=A6[/B][/COLOR],CONCATENATE(D3,$H$1,D4,$H$1,D5,$H$1,D6),IF([B][COLOR=#ff0000]A3=A4=A5<>D6[/COLOR][/B],CONCATENATE(D3,$H$1,D4,$H$1,D5),IF([B][COLOR=#ff0000]A3=A4<>D5[/COLOR][/B],CONCATENATE(D3,$H$1,D4),D3)))
Nhìn vào cũng chả hiểu bạn muốn gì nữa!
Thôi thì bạn mô tả yêu cầu của bạn đi cho nó nhanh
(mấy chổ màu đỏ là SAI CÚ PHÁP nhé ---> Hổng có cái vụ so sánh kỳ cục kiểu đó đâu)
Hình như là thế này:
Tìm ở cột [A] "Số xe", những em nào giống nhau thì sẽ nối dữ liệu của các em tương ứng ở cột [D] "Khách hàng", kết quả bỏ vào cột [J] tương ứng
Thí dụ:
[J3], [J4], [J5] & [J6] có chung kết quả là
Hộ Kinh Doanh Hoàng / Hộ Kinh Doanh Hoàng / Hộ Kinh Doanh Hoàng / Hộ Kinh Doanh Hoàng
[J10] & [J11] có chung kết quả:
Cty TNHH TM&DV Thế Kỷ Vàng / Cty TNHH TM Phú Vĩnh Hưng
v..v.........
Hổng biết trúng hông nữa, cứ thế mà phang đi Thầy, trật ........làm lại
Híc
 
Hình như là thế này:
Tìm ở cột [A] "Số xe", những em nào giống nhau thì sẽ nối dữ liệu của các em tương ứng ở cột [D] "Khách hàng", kết quả bỏ vào cột [J] tương ứng
Thí dụ:
[J3], [J4], [J5] & [J6] có chung kết quả là

[J10] & [J11] có chung kết quả:

v..v.........
Hổng biết trúng hông nữa, cứ thế mà phang đi Thầy, trật ........làm lại
Híc

Kết quả mình muốn tìm là giống như vậy đó bác concogia, nhưng nếu số xe nằm ở nhiều hàng thì lại không cho kết quả mong muốn.
Còn theo các bác cú pháp if(A1=A2==,concatenate()) là sai thì mình nên sửa như thế nào, vì mình làm vẫn cho ra kết quả mặc dù không chính xác, nếu thử chỉ với cú pháp =if(A1=A2,concatenate(I1,"/",I2,I1)) thì lại cho kết quả đúng, như vậy cú pháp này sai ở điểm nào các bác gỡ giúp
 
Kết quả mình muốn tìm là giống như vậy đó bác concogia, nhưng nếu số xe nằm ở nhiều hàng thì lại không cho kết quả mong muốn.
Còn theo các bác cú pháp if(A1=A2==,concatenate()) là sai thì mình nên sửa như thế nào, vì mình làm vẫn cho ra kết quả mặc dù không chính xác, nếu thử chỉ với cú pháp =if(A1=A2,concatenate(I1,"/",I2,I1)) thì lại cho kết quả đúng, như vậy cú pháp này sai ở điểm nào các bác gỡ giúp
Nếu đúng như mình nghĩ, dùng hàm như bạn không được đâu, các số xe nằm gần nhau đã "tèo" rồi chứ đừng nói nó nằm lung tung xèng lại càng "tèo"
Theo mình chỉ có VBA tạo hàm người dùng mới xử được em này
Nếu bạn Ok hướng đó thì bạn viết......"Ô- kê", trên diễn đàn này cả đống thành viên viết code này cho bạn được ( híc, cái này dùng VBA thì chắc cũng dễ thôi mà)
Thân
 
Còn theo các bác cú pháp if(A1=A2==,concatenate()) là sai

Bạn sai rồi. Cú pháp hoàn toàn đúng, hợp lệ. Chỉ có điều viết thế thì kết quả sẽ không đúng ý bạn
--------------
1. Mệnh đề, biểu thức lô gíc "a = b" có giá trị TRUE khi a = b và FALSE khi a <> b. a và b có thể là giá trị mà cũng có thể là biểu thức lô gíc.

2. "A3=A4=A5=A6" được tính y như khi là a = A5 = A6 với a là giá trị của biểu thức lô gíc "A3 = A4". Còn giá trị của "a = A5 = A6" = giá trị của "b = A6" với b là giá trị lô gíc của "a = A5"
Tóm lại "A3=A4=A5=A6" được tính như là ((A3 = A4) = A5) = A6

"A3=A4=A5=A6" trả về giá trị lô gíc, tức không sai về cú pháp. Nhưng viết như thế thì kết quả sẽ không đúng ý của bạn.

Vì sao? Vì A3=A4=A5=A6 luôn trả về FALSE. Tại sao FALSE?
Mã:
A3=A4=A5=A6 bằng ((A3 = A4) = A5) = A6 bằng (TRUE/FALSE = A5) = A6 bằng
FALSE = A6 (TRUE/FALSE = A5 trả về FALSE vì 1 bên là giá trị lô gíc còn bên kia là chuỗi A5)
bằng FALSE (FALSE = A6 trả về FALSE vì 1 bên là giá trị lô gíc còn bên kia là chuỗi A6)

Tức công thức của bạn
Mã:
=IF(A3=A4=A5=A6,CONCATENATE(D3,$H$1,D4,$H$1,D5,$H$1,D6),IF(A3=A4=A5<>D6,CONCATENATE(D3,$H$1,D4,$H$1,D5),IF(A3=A4<>D5,CONCATENATE(D3,$H$1,D4),D3)))

trở thành

Mã:
=IF(A3=A4=A5<>D6,CONCATENATE(D3,$H$1,D4,$H$1,D5),IF(A3=A4<>D5,CONCATENATE(D3,$H$1,D4),D3))

Phân tích như trên ta có A3=A4=A5<>D6 trả về TRUE. Vậy công thức thành
Mã:
=CONCATENATE(D3,$H$1,D4,$H$1,D5)

Rõ ràng không đúng ý bạn vì với A3=A4=A5=A6 (cùng có một giá trị) thì bạn muốn có CONCATENATE(D3,$H$1,D4,$H$1,D5,$H$1,D6) cơ mà.
 
Quá hay, quá rõ ràng dễ hiểu. ko như 1 số Viper khác
 

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

Back
Top Bottom