Формула Excel - создание счетов из списка данных

260
Adam

У меня есть таблица Excel с двумя вкладками - одна вкладка представляет собой список данных о продажах (например, дата, сумма, имя клиента, номер счета-фактуры), а на другой вкладке я хочу очень просто выставлять счета (на самом деле они не являются выдаваться).

Каждый счет составляет всего 11 строк (например, первые несколько строк - это название компании, адрес и т. Д.). Для даты его =data!C6, для номера счета-фактуры его =data!H6, для суммы его =data!G6.

Когда я выделяю invoice(11 строк, 8 столбцов) и использую маленькое поле в правом нижнем углу, чтобы перетащить вниз, чтобы invoicesавтоматически сгенерировать другое, это работает, НО проблема в том, что Excel получает неправильные значения на вкладке данных.

Например, следующий invoiceдолжен быть =data!C7/ =data!H7/, =data!G7но вместо того, чтобы его получать данные =data!C17/ =data!H17/=data!G17

Может кто-нибудь помочь мне, чтобы я мог получать данные по одной строке за раз из dataвкладки?

1

1 ответ на вопрос

0
p._phidot_

Если я правильно понимаю ваш вопрос, это:

Sheet1 = 1 data per line(row) Sheet2 = 1 data per 11 lines(rows) <-- desired output. 

То, что я предлагаю, вместо прямой ссылки из Sheet1 -> Sheet2, попробуйте использовать «метод индекса соответствия Excel».

Мне понадобилось много времени, чтобы понять это, но это того стоит.

1) Подготовить данные:

  • Рядом с таблицей 11x8 на листе 2 введите порядковый номер (его можно «спрятать» для печати, нажав r-click> text color = white позже, а пока оставьте его как обычно)
  • для данных на листе 1 добавьте столбец «число выполненных работ» слева от ваших данных. скажем 1 для данных в строке 1, 2 для данных в строке 2 и так далее.
  • например, ради, я буду считать в sheet1: column1 = running number, column2 = date,column3 = amount,column4 = customer name,column5 = invoice number.
  • Я предполагаю, что данные о клиентах начинаются со строки 3. Таким образом, данные о первой строке будут A3=1,B3=date1,C3=amount1,D3=name1,E3= invoice1. И 2-е свидание будет A4=2,B4=date2,C4=amount2,D4=name2,E4= invoice2и так далее.
  • и на листе 2: A1: K8 - ваши предполагаемые данные / формат для счета-фактуры1, причем "1" (номер 1) было напечатано на L1. и A9: K16 - это счет-фактура2, "= L1 + 1" набирается в ячейке L9.

2) Загрузить данные листа1 на лист2

Используйте «метод индекса соответствия» на листе 2.

  • Поскольку A1: K8 является областью данных для invoice1. и мы хотим поместить данные типа в sheet2 следующим образом:H2=date1,E4=amount1,C3=name1,H1= invoice1
  • так на листе 2, тип H2: =index(<array2>,match(L1,<array1>,0)) на листе 2, тип E4: =index(<array3>,match(L1,<array2>,0)) на листе 2, тип C3:, =index(<array4>,match(L1,<array2>,0)) на листе 2, тип H1:=index(<array5>,match(L1,<array2>,0))
  • где: есть sheet1,$A$3:$A$200, есть sheet1,$B$3:$B$200, есть sheet1,$C$3:$C$200, есть sheet1,$D$3:$D$200, есть sheet1,$E$3:$E$200.

  • мы увидим, что ячейка H2 будет иметь дату1, ячейка E4 будет иметь сумму1, ячейка C3 будет иметь имя1, ячейка H1 будет иметь счет-фактуру1.

3) Расширить его до следующих рядов

  • на листе 2 выберите A1:K8, перетащите маленькую коробочку в нижнем правом углу до K16. Обратите внимание, что мы исключаем L1 в этом выборе.
  • Теперь выберите A9:L16, перетащите небольшую коробку в правом нижнем углу до K1600. Примечание: L9 (рабочий номер) теперь выбран и тоже перетаскивается.

Готово.

Мы обязательно увидим A1: K1600 - это счет. L1 is 1, L9 is 2, L25 is 3, чтобы «спрятать» L столбец L в печати, просто нажмите r> (иконка) цвет текста = белый.

Надеюсь, это поможет. (:

Похожие вопросы