Як зробити просту операцію з налаштуванням в електронній таблиці документів Google?


10

Припустимо, у мене є декілька імен у клітинках B1:B3та повний список усіх імен A1:A4, чи можна мені створити список імен A1:A4, які не відображаються у B1:B3?

Наприклад, клітини A1:A4мають "A", "B", "C", "D", якщо B1:B3містять "A", "C", "D", то я хочу отримати "B".

Я переглянув список функцій, але не зміг зрозуміти, як це зробити.

Оновлення : За допомогою Ланс, формула, яку я придумав, була:

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

Це дає правильний результат, проте у мене все ще є проблема. Проблема полягає в тому, що мої клітини B1:Bxможуть розширюватися. Я керую спортивною командою і використовую форму Google Документів, яку люди можуть подати, вони вибирають своє ім’я зі списку вибору та вибирають перемикач "Так" (я можу грати) або "Ні" (я виходжу). Я хочу досягти тут - відобразити у своїй електронній таблиці тих людей, які не відповіли. Мета - оновити цей список автоматично після кожного нового надсилання. На жаль, коли нові рядки заповнюються в електронній таблиці, формула буде накручена. Я не впевнений, чи є для цього рішення.

Оновлення 2 : Я знайшов роботу. Я спершу скопіював клітини B1:Bxв інший регіон C1:Cx, потім застосував вищезгадану формулу, але проти C1:Cx. Зараз навіть B1:Bxрозширюється, формула все ще діє.


Рішення проблеми, що розширюється, полягає у використанні названого діапазону. Можливо, знадобиться деяка робота, щоб фільтр був правильним, хоча.
Ленс Робертс

@ Ленс, я знайшов рішення та знову оновив свою публікацію. Дякую.
grokus

1
Чудове запитання, я знайшов це під час пошуку цієї відповіді сам. Ваш спосіб вирішення досить хороший, але я думаю, що нарешті я отримав саме те, що ви шукали. Перевірте мою відповідь нижче.
Ентоні Дісанті

Відповіді:


5

WOW, я збирався знайти точне рішення, Google Docs настільки засмучує. Місто з сценарієм.

Це можна зробити за допомогою функції робочого аркуша FILTER, при цьому ваш arrayCondition_1 є формулою функцій, яка дає справжнє значення для кожного рядка, який не введено в обмін. Я зміг побачити, що функцію MATCH не можна використовувати.


1
Я виявив, що використання Chrome набагато краще при роботі з Google Документами.
grokus

Сьогодні для мене це божевільно, але якщо я можу пригадати, я зламаю тріщину на цьому наступному тижні (якщо відповіді до цього часу не знайшли).
Ленс Робертс

це нормально, я зміг використати FILTER для отримання бажаних результатів. Дякую.
grokus

@grokus, чудово, ви повинні опублікувати формулу, яку ви використали для подальшого використання читача.
Ленс Робертс

Я оновив своє початкове повідомлення.
grokus

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

COUNTIFпідраховує кількість разів, коли кожен гравець у колонці Aз’являється у стовпці Bта повертає масив рахунків.

NOT відкидає числа до булевих значень (true або false), а потім приймає зворотне.

FILTERвидаляє гравців, які з’явились у списку Bвідповідей стовпців.

Хитрість тут полягає в тому, що NOTвони розраховують булів. Якщо гравець не відповів, він відображатиметься 0 разів у списку відповідей. Якщо вони відповіли, вони з’являться 1 або більше разів (можливо, гравець намагається змінити свою відповідь, подавши опитування вдруге). 0 касти Falseі всі інші числа, передані в True. Тож гравці, які відповіли на карту, Trueі ті, хто ще відповів на карту False. NOTпотім приймає зворотну сторону, даючи вам маску тих гравців, які ще відповіли.

Це рішення підтримує зростаючий список подань, який може включати порожні рядки або дублікати подань. Щоб обмежитися певним діапазоном, описаним у запитанні, використовуйте:=FILTER(A1:A4, NOT(COUNTIF(B:B,A1:A4)))


genius 20charlimit
Fadeway

0

Ось електронна таблиця, яка показує, як це легко зробити:

Налаштування операцій у Google Таблицях

Союз є ={setA; setB}

Різниця є =filter(setA, iferror(MATCH(setA, setB, false)))

Перехрестя є =filter(setA; MATCH(setA, setB, false))

Пояснення setAі setBможуть бути названі діапазонами або ви можете використовувати нормальну позначення діапазону. Названі діапазони просто роблять це зрозумілішим.

Союз - це лише новий діапазон, створений шляхом узгодження обох діапазонів.

Перетину (наступний прості) залежать від того, шукаємо індекси setAв setBякому вони виходять, і фільтрації узнающего цим.

Різниця схожа, але фільтри setAвибирають лише членів, де пошук індексу setBне знайдено.

Додатковий кредит

Об'єднання з дублюванням дублікатів є просто setA + (setB-setA) , тому вище

={setA;filter(setB, iserror(MATCH(setB,setA,false)))}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.