Формула Excel - создание счетов из списка данных
У меня есть таблица 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 ответ
Если я правильно понимаю ваш вопрос, это:
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 и так далее.
- например, ради, я буду предполагать на листе 1:
column1 = running number, column2 = date,column3 = amount,column4 = customer name,column5 = invoice number
, - Я предполагаю, что данные клиента начинаются со строки 3. Итак, данные 1-й строки будут
A3=1,B3=date1,C3=amount1,D3=name1,E3= invoice1
, И вторая дата будет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, тип Н2:
=index(<array2>,match(L1,<array1>,0))
на листе 2, тип Е4:=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 в печати, просто щелкните правой кнопкой мыши> (значок) цвет текста = белый.
Надеюсь, это поможет. (: