Chỉ ghép các ô đầy


21

Tôi hiện có một bảng tính để theo dõi điểm số trong một trò chơi bài. Có thể có từ hai đến năm người chơi. Tôi có những điều sau đây:

| Players  |
|----------|
| Dave     |
| Paul     |
| John     |
|          |
|          |

Hiện tại tôi sử dụng:

= JOIN( " vs " ; C10:C14 )

Nhưng vấn đề là tôi kết thúc với Dave vs Paul vs John vs vs.

Có cách nào để nói Dave vs Paul vs Johnnhưng nếu tôi có nhiều người chơi hơn, Dave vs Paul vs John vs Robvới một công thức?

Câu trả lời:



15

Hãy thử TEXTJOIN :

=textjoin(" vs ",1,C10:C14)

2
Đây là câu trả lời tốt nhất. Nó ngắn hơn, đơn giản hơn và cho phép bạn bỏ qua các giá trị trống.
Ricardo Amaral

1
Tôi luôn đọc mọi thứ để tìm câu trả lời hay nhất không chỉ là "câu trả lời hiệu quả" :)
Ricardo Amaral

5

Cả hai giải pháp trên đều hoạt động nếu có ít nhất một ô chứa văn bản. Tuy nhiên:

= JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

Sẽ trở lại %%%%nếu C10: C14 hoàn toàn trống và.

= JOIN( " vs " ; FILTER(C10:C14; NOT(C10:C14 = "") ))

Sẽ trở lại #N/Anếu C10: C14 hoàn toàn trống.

Tuy nhiên, bạn có thể sửa đổi một chút giải pháp đầu tiên để thay thế các %dấu bằng chuỗi rỗng bằng cách gói công thức với SUBSTITUTEhàm như sau:

=SUBSTITUTE(
   JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0)),    // text_to_search
   "%",                                            // search_for
   ""                                              // replace_with
 )

(Hiển thị trên nhiều dòng cho rõ ràng)


Xin lưu ý: "ở trên" thực sự không có ngữ cảnh trong câu trả lời, vì câu trả lời có thể được sắp xếp theo các cách khác nhau.
ale

4

Tôi đã tìm thấy một giải pháp khác:

=JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

% Có thể là bất kỳ biểu tượng nào thực sự không có trong danh sách, như dấu phẩy, dấu và hoặc dấu hỏi.


Đẹp thay thế !!
Jacob Jan Tuinstra
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.