3

У меня есть вход из текстового файла с разделителями табуляции

25/08/2013  B   TRUE
25/08/2013  L   FALSE
25/08/2013  D   TRUE
26/08/2013  L   FALSE
26/08/2013  D   TRUE
27/08/2013  B   TRUE
27/08/2013  L   TRUE
27/08/2013  D   TRUE
28/08/2013  B   FALSE
28/08/2013  D   FALSE
29/08/2013  B   FALSE

Первый столбец - это дата. Второй - завтрак, обед или ужин. Как видите, некоторые данные отсутствуют: завтрак 26-го и обед 28-го.

Теперь я хотел бы перенести эти данные в таблицу Excel следующим образом:

Там, где отсутствуют данные, выдается пустое поле, а остальное передается.

Я надеюсь, что это возможно и легко. Спасибо!

3 ответа3

3

После того, как у вас есть данные с разделителями табуляции, импортированные в Excel, вы можете построить свою таблицу, используя формулы.

  1. Создайте заголовки для вашей таблицы. Затем в первой ячейке под датой (E3 в моем примере) введите формулу
    = МИН ($ A $ 3:$ A $ 15)
    где A3:A15 - столбец дат в исходных данных.
  2. В ячейке ниже этого (E4 в моем примере) введите формулу
    = Е3+1
    и заполнить так, как вам нравится.
  3. В первой ячейке в столбце Завтрак введите формулу
    = ЕСЛИОШИБКА (ВЫБРАТЬ (SUMPRODUCT (1 * ($ Е3 = $ A $ 3:$ A $ 15), 1 * ($ B $ 3:$ B $ 15 = ЛЕВЫЙ (Р $ 2,1)), ($ C $ 3:$ C $ 15) * 2+1 * НЕ ($ C $ 3:$ C $ 15)), FALSE, TRUE), "")
    где заголовок столбца находится в F2 , столбец BLD исходных данных находится в B3:B15 , а столбец TF исходных данных находится в C3:C15 .
  4. Заполните эту формулу вниз по столбцу. Затем заполните формулу справа через все столбцы. Обратите внимание, что бит LEFT(F$2,1) просто срывает первую букву с заголовка столбца, чтобы проверить значения BLD. Если ваши фактические данные не соответствуют этому шаблону, вы можете заменить эту часть формулы значением, которое вы хотите сопоставить, заключенным в кавычки (например, "B" вместо этого).

2

Я предполагаю, что вы импортировали свои входные данные в столбцы с R по T:

                                               

Как и Excellll, я конвертировал даты в формат m/d/yyyy, чтобы они работали в моей системе.  Теперь, чтобы поместить результаты, которые вы хотите в столбцы от A до D:

  1. Создайте вспомогательный столбец Q, введя =R2&S2 в ячейку Q2 (или введя =R1&S1 в ячейку Q1 , если у вас нет строки заголовка) и перетащив / заполнив вниз:

                                   

  2. Заполните колонку А желаемыми датами. Есть много способов сделать это:

    1. Чтобы получить полное покрытие для диапазона,

      • Установите для ячейки A2 значение =MIN(R2:R12) (или =MIN(R1:R12) , если у вас нет строки заголовка в столбце R), или просто введите желаемую дату начала, а затем
      • Установите для ячейки A3 значение =A2+1 и перетащите / заполните ячейку A3 вниз.  Или просто перетащите / заполните ячейку A2 вниз.  Или перетащите / заполните ячейку A2 правой кнопкой мыши и выберите «Fill Days» и «Fill Weekdays».


      ИЛИ ЖЕ

    2. Используйте даты, которые присутствуют в ваших данных, и никаких других.

      • Убедитесь, что столбец R имеет заголовок, а затем
      • Выберите столбец (заголовок и все данные), а затем
      • Перейдите на вкладку «Данные», панель «Сортировка и фильтр», нажмите «Дополнительно», а затем
      • Выберите «Копировать в другое место», введите « A:A для «Копировать в», выберите «Только уникальные записи» (и нажмите «ОК»).

  3. Введите =IFERROR(VLOOKUP($A2&LEFT(B$1,1), $Q$1:$T$12, 4, FALSE), "") в ячейку B2 и перетащите вниз и вправо, как в ответе Excellll.  Его комментарий о LEFT(F$2,1) равной степени относится и к моему LEFT(B$1,1) .

[Как вы обнаружили, некоторые локализации Excel требуют, чтобы аргументы функции были разделены точками с запятой.]

Если вы хотите сделать это преобразование постоянным и удалить исходные данные, просто скопируйте, а затем вставьте значения.

Я утверждаю, что этот ответ проще, чем другие, которые были представлены.  Кроме того, мой вариант более гибок, поскольку (я полагаю) другой сбой, если в самый правый столбец введены какие-либо данные, кроме TRUE или FALSE , в то время как мой может обрабатывать такие вещи, как eggs , sandwich и salad , заплаченные цены, время суток, местоположение или что-то еще.

1

Вы можете сделать это довольно быстро с помощью вспомогательного столбца, сводной таблицы и пользовательского формата в сводной таблице. Увидеть ниже.

Импортируйте свои данные в Excel и используйте меню «текст в столбцы», чтобы разделить их, как показано в столбцах A:C.

Вспомогательный столбец D назначает 1 для TRUE и 0 для FALSE для значений в столбце C.

Создайте сводную таблицу, как показано, используя вспомогательный столбец в разделе VALUES. Первоначально вы будете иметь 1 и 0 в разделе ЗНАЧЕНИЯ.

Затем в "Настройках поля значений" вы можете преобразовать 1 и 0 обратно в ИСТИНА и ЛОЖЬ в формате пользовательских чисел "Истина"; "Правда"; "Ложь".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .