Làm cách nào để thực hiện thao tác thiết lập đơn giản trong bảng tính tài liệu của Google?


10

Giả sử tôi có một số tên trong các ô B1:B3và một danh sách đầy đủ tất cả các tên trong đó A1:A4, liệu tôi có thể tạo một danh sách các tên trong A1:A4đó không xuất hiện B1:B3không?

Ví dụ, các ô A1:A4có "A", "B", "C", "D", nếu B1:B3chứa "A", "C", "D", thì tôi muốn lấy "B".

Tôi đã xem qua danh sách chức năng nhưng không thể tìm ra cách để làm điều đó.

Cập nhật : Với sự giúp đỡ của Lance, công thức tôi nghĩ ra là:

FILTER(A1:A4, A1:A4<>B1, A1:A4<>B2, A1:A4<>B3)

Điều này cho kết quả đúng, tuy nhiên tôi vẫn có một vấn đề. Vấn đề là các tế bào của tôi B1:Bxcó thể mở rộng. Tôi đang quản lý một đội thể thao và sử dụng biểu mẫu Google Docs để mọi người gửi, họ chọn tên của họ từ danh sách chọn và chọn nút radio "Có" (Tôi có thể chơi) hoặc "Không" (Tôi không tham gia). Những gì tôi muốn đạt được ở đây là hiển thị trong bảng tính của tôi những người chưa phản hồi. Mục tiêu là cập nhật danh sách này tự động sau mỗi lần gửi mới. Thật không may khi các hàng mới được điền vào bảng tính, công thức sẽ bị sai lệch. Tôi không chắc có giải pháp nào cho việc này không.

Cập nhật 2 : Tôi tìm thấy một công việc xung quanh. Tôi đã sao chép các ô từ B1:Bxvùng khác C1:Cxtrước, sau đó sử dụng công thức trên nhưng ngược lại C1:Cx. Bây giờ thậm chí B1:Bxmở rộng, công thức vẫn còn hiệu lực.


Giải pháp cho vấn đề mở rộng là sử dụng một phạm vi được đặt tên. Có lẽ sẽ mất một số công việc để có được bộ lọc vừa phải.
Lance Roberts

@Lance, tôi tìm thấy một cách giải quyết và cập nhật lại bài viết của mình. Cảm ơn.
Grokus

1
Câu hỏi tuyệt vời, tôi đã tìm thấy nó trong khi tìm kiếm câu trả lời này cho mình. Cách giải quyết của bạn là khá tốt, nhưng tôi nghĩ rằng cuối cùng tôi đã có được chính xác những gì bạn đang tìm kiếm. Kiểm tra câu trả lời của tôi dưới đây.
Anthony DiSanti 16/07/2015

Câu trả lời:


4

WOW, tôi sẽ mang đến cho bạn một giải pháp chính xác, Google Docs thật là bực bội. Thành phố vòng lặp script.

Bạn có thể thực hiện điều này với hàm bảng tính LỌC, với mảngCondition_1 của bạn là một công thức của các hàm mang lại giá trị thực cho mỗi dòng không bị lừa. Tôi đã có thể thấy rằng hàm MATCH không thể được sử dụng.


1
Tôi thấy sử dụng Chrome tốt hơn nhiều khi giao dịch với Google Docs.
Grokus

Hôm nay thật là điên rồ đối với tôi, nhưng nếu tôi có thể nhớ thì tôi sẽ bẻ khóa vào tuần tới (nếu câu trả lời chưa được tìm thấy trước đó).
Lance Roberts

Không sao, tôi đã có thể sử dụng LỌC để có được kết quả mình muốn. Cảm ơn.
Grokus

@grokus, thật tuyệt, bạn nên đăng công thức bạn đã sử dụng để tham khảo cho người đọc trong tương lai.
Lance Roberts

Tôi đã cập nhật bài viết gốc của mình.
Grokus

4
=FILTER(A:A, NOT(COUNTIF(B:B, A:A)))

COUNTIFđếm số lần mỗi người chơi trong cột Axuất hiện trong cột Bvà trả về một mảng các số đếm.

NOT biến các số thành giá trị boolean (đúng hoặc sai) và sau đó lấy nghịch đảo.

FILTERloại bỏ các cầu thủ đã xuất hiện trong Bdanh sách phản hồi cột.

Thủ thuật ở đây là NOTchuyển số đếm thành booleans. Nếu người chơi chưa trả lời, họ sẽ xuất hiện 0 lần trong danh sách phản hồi. Nếu họ đã trả lời, họ sẽ xuất hiện 1 lần trở lên (có thể một người chơi đang cố gắng thay đổi câu trả lời của họ bằng cách gửi khảo sát lần thứ hai). 0 phôi đến Falsevà tất cả các số khác đúc tới True. Vì vậy, những người chơi đã phản hồi bản đồ Truevà những người chưa phản hồi bản đồ False. NOTsau đó lấy nghịch đảo, đưa cho bạn mặt nạ của những người chơi chưa phản hồi.

Giải pháp này hỗ trợ một danh sách các bài nộp ngày càng tăng có thể bao gồm các hàng trống hoặc các bài nộp trùng lặp. Để giới hạn phạm vi cụ thể được mô tả trong câu hỏi, hãy sử dụng:=FILTER(A1:A4, NOT(COUNTIF(B:B,A1:A4)))


thiên tài 20charlimit
Fadeway

0

Đây là một bảng tính cho thấy làm thế nào điều này có thể được thực hiện dễ dàng:

Đặt hoạt động trong Google Sheets

Liên minh là ={setA; setB}

Sự khác biệt là =filter(setA, iferror(MATCH(setA, setB, false)))

Giao lộ là =filter(setA; MATCH(setA, setB, false))

Giải thích setAsetBcó thể được đặt tên phạm vi hoặc bạn có thể sử dụng ký hiệu phạm vi bình thường. Phạm vi được đặt tên chỉ làm cho điều này rõ ràng hơn.

Union chỉ là một phạm vi mới được thực hiện bằng cách kết hợp cả hai phạm vi.

Giao lộ (dễ nhất tiếp theo) phụ thuộc vào việc tìm kiếm các chỉ mục setAsetBnơi chúng thoát ra và lọc setA theo đó.

Sự khác biệt là tương tự, nhưng các bộ lọc setAchỉ chọn ra các thành viên không tìm thấy chỉ mục trong đó setB.

Tín dụng thêm

Liên kết với loại bỏ trùng lặp chỉ là setA + (setB-setA) , do đó, ở trên

={setA;filter(setB, iserror(MATCH(setB,setA,false)))}
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.