Об’єднайте електронні таблиці


3

[Числа, macOS]

Мені потрібно об’єднати дані у 2 електронні таблиці / таблиці. Вони містять контактну інформацію. Друга таблиця містить стовпчик, який я хочу додати до першої таблиці.
Тепер я не можу просто скопіювати / вставити стовпчик, оскільки, хоча дві таблиці містять один і той же стовпець A, вони не містять однакової кількості рядків.
Для ілюстрації я ставлю зразки таблиць нижче.

Таблиця №1

Name       Address          Phone
Mr. One    First Address    45120354554
Ms. Two    Second Address   42874518933
Mr. Three  Third Address    74125986538
Mr. Four   Fourth Address   95645740200

Таблиця №2

Name       Address          Website
Mr. One    First Address    a@b.com
Mr. Three  Third Address    e@a.com

Як я можу додати Websiteстовпчик до таблиці №1, щоб, якщо Nameстовпець збігався, він вставляв те, що знаходив у Websiteстовпці таблиці №2, щоб отримати результат, показаний нижче?

Цільова таблиця

Name       Address          Phone         Website
Mr. One    First Address    45120354554   a@b.com
Ms. Two    Second Address   42874518933   
Mr. Three  Third Address    74125986538   e@a.com
Mr. Four   Fourth Address   95645740200   

Вибачте, якщо це важко зрозуміти. Я не знаю, як це поставити, тому сміливо задайте будь-яке питання!
Спасибі заздалегідь!


Ця операція називається "Приєднання лівих" в мові бази даних. Я не знаю, чи можливо це безпосередньо в Numbers, але, можливо, принаймні знання терміна може допомогти вам краще шукати.
shadowtalker

Насправді я думаю, що найбільш надійним рішенням було б фактично експортувати ваші електронні таблиці у вигляді CSV-файлів, імпортувати їх у базу даних (macOS постачається з уже встановленим двигуном бази даних, який називається SQLite), виконати об'єднання в базі даних, а потім експортувати CSV-файл -імпорт у числа.
shadowtalker

Однак я працюю над рішенням, яке стосується лише чисел. Чи можливо, що Addressстовпці не погоджуються між таблицями? Якщо так, як ви хочете впоратися?
shadowtalker

Технічно це неможливо, ні. Однак можливо, що таблиця №2 містить "один" рядок кілька разів. ("те саме", що і в цій же nameколонці)
LinusGeffarth

Насправді я б не проти видалити ті самі стовпці, окрім nameстовпця, очевидно, і залишити всі стовпці, які містить таблиця №2, але таблиця №1 цього не робить.
LinusGeffarth

Відповіді:


4

Давайте зробимо кілька припущень:

  1. Єдиний стовпець таблиці 2, який вас хвилює, - це Website
  2. Усі дані в обох Nameстовпцях є на 100% правильними і можуть відповідати "точно" (тобто не розмито)
  3. Стовпці позначені рядком "заголовка" (темно-сірий фон за замовчуванням)
  4. Таблиці названі Table 1іTable 2
  5. Дані починаються в рядку 2в обох таблицях

Тому ми просто збираємося взяти потрібні значення Table 2::Website(позначення формули Mac Numbers для "Стовпець Websiteу Table 2") і вставте їх у Table 1::D.

Це насправді дуже просто зробити, і це один із тих стандартних трюків з електронних таблиць, які чудово мати у задній кишені. Пошук в Інтернеті на кшталт "index match excel" та "vlookup excel" дасть тони результатів.

Рішення 1 (загальна техніка)

У перший рядок Table 1::Websiteвведіть цю формулу:

=IFERROR(INDEX(Website, MATCH(A2, Table 2::Name, 0), 1), "")

На жаль, оскільки Numbers вважає, що це розумніший за вас, це не дозволить мені вставити це - вам, мабуть, доведеться вводити його вручну. Потім натисніть і перетягніть жовту крапку внизу клітинки аж донизу.

Давайте розпакуємо це зсередини назовні.

MATCH

Офіційна документація: http://help.apple.com/functions/mac/7.0/#/ffa59a83d3

MATCH приймає такі аргументи:

  1. Значення для пошуку
  2. Діапазон значень для пошуку
  3. Шукати "режим"

і повертає першу позицію (1, 2, 3 тощо) у №2, яка відповідає значенню в №1. У документації є детальніше про аргумент №3, але 9 разів з 10 ви захочете встановити його 0,

INDEX

Офіційна документація: http://help.apple.com/functions/mac/7.0/#/ffa59b4edb

INDEX приймає такі аргументи:

  1. Набір комірок, з яких можна вибрати
  2. Рядок у цьому діапазоні для вибору
  3. Стовпець у цьому діапазоні для вибору
  4. Номер області для використання у вибраній комірці

Ми хочемо вибрати Table 2::Website, отже, це те, що відноситься до №1. Результат MATCHвиклику вище дає нам номер рядка, який ми хочемо, так що він переходить у номер 2. У цьому діапазоні є лише один стовпець, тому ми знаємо, що ми хочемо розмістити його 1в 3. Якщо номер 4 опущено, він за замовчуванням 1. Не хвилюйтеся з цього приводу, просто залиште це.

IFERROR

Офіційна документація:

IFERROR приймає такі аргументи:

  1. Значення для перевірки помилок
  2. Значення заміни, якщо є помилка

Ця сама пояснюється. Якщо INDEXне вдасться, це призведе до помилки. Використовуйте це, щоб замінити ці помилки пробілами (або чимось іншим, якщо хочете).

Рішення 2 (ярлик)

Ви можете спростити цей запит за допомогою функції швидкого доступу:

=IFERROR(VLOOKUP(A2, Table 2::Name:Website, 3, 0), "")

Це робить "вертикально шукає" A2в діапазоні Table 2::Name:Websiteі повертає значення в стовпці, 3що з знайденого рядка. В 0кінці вказується шукати точну, а не приблизну відповідність. IFERRORЧастина ідентична.


Данг. Візьміть мою нагороду за зусилля. Я перегляну пізніше і дам вам знати, чи працює це на мене. Спасибі заздалегідь!
LinusGeffarth

Отож ось ми йдемо. Я не можу отримати рішення №1, щоб якось працювати. Дивіться на моєму скріншоті , щось там не так? (Я щойно перейменований Websiteна Status) Рішення №2, однак, працює для мене. Дякую!
LinusGeffarth

1
@LinusG. рада №2 працювала. Схоже, ви маєте неправильне значення в третьому аргументі MATCH.
shadowtalker

рішення 1 спрацювало для мене чудово
tatiana_c
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.