Получение содержательного отчета на основе данных

Я новичок в Google Таблицах и знаю очень базовые функции. Я пытаюсь создать лист, чтобы вести учет покупки / продажи различных товаров, а затем создать отчет, в котором я могу увидеть прибыль и остаток товара на складе, среднюю цену покупки / продажи и т. Д. Вот ссылка на образец листа и то, что я пробовал.

Пожалуйста, дайте мне знать, можно ли этого достичь, если да, то, что мне нужно искать, любой образец или ссылку, чтобы узнать в правильном направлении, чтобы достичь того, что я пытаюсь получить. Прилагаю снимок экрана, чтобы быстро увидеть.  введите описание изображения здесь Я использовал запрос: -

= QUERY (A2: F9, "выберите A, B, Sum (C), Sum (E), сгруппируйте по A, B Обозначьте Sum (C)" Общее количество ", Sum (E)" Общая цена "")

Спасибо.

PS. Я разместил это ранее в группе Google. Я свяжу его туда, если приду к какому-либо решению.


person rain    schedule 17.04.2017    source источник
comment
Вместо добавления формул в виде изображений включите их в виде текста (обычно форматирование кода помогает улучшить читаемость). Похоже, вам нужно использовать сводную таблицу.   -  person Rubén    schedule 18.04.2017
comment
Спасибо @ Rubén. Я уже прикрепил ссылку на образец листа, также обновленную для запроса в тексте. Я тоже попробовал поворот, но не смог добиться того, что хотел, вероятно, из-за недостатка знаний.   -  person rain    schedule 18.04.2017
comment
Вы можете извлечь строку из своего запроса с помощью INDEX, в зависимости от того, в какой строке вы находитесь в таблице результатов. Может, посмотрю позже.   -  person Tom Sharpe    schedule 18.04.2017
comment
Кстати, каков расчет фактической прибыли?   -  person Tom Sharpe    schedule 18.04.2017
comment
Спасибо @TomSharpe, это большая помощь для начала, я прочитаю и посмотрю, как все это работает (не знакомо с большинством функций). Расчет фактической прибыли осуществляется в режиме FIFO, т.е. я буду усреднять курс покупки до того, как произойдет продажа, и вычту сумму продажи, например, скажем, средний курс покупки элемента 1 равен 11 до даты продажи, тогда я скажу 12 (курс продажи) - 11 (средний курс покупки) = 1 (фактическая прибыль от этой продажи). Надеюсь, я понимаю.   -  person rain    schedule 19.04.2017


Ответы (1)


Я не смог найти простой и аккуратный способ получить нужный макет, но вы можете использовать Index, чтобы извлечь строку и столбец из вашего запроса на основе строки и столбца, содержащих формулу, подобную этой (для первого столбца)

=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),choose(mod(rows($1:3),3)+1,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2,1),"","Total"),"")

Затем он определяет, является ли это первой, второй или третьей строкой группы в отчете, и использует функцию «Выбрать», чтобы ввести имя элемента, пустую ячейку или слово «Итого».

Второй столбец работает точно так же

=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),if(mod(rows($1:3),3)<2,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2+mod(rows($1:3),3),2),""),"")

Первая функция Mod используется для определения, должна ли она отображать «b» или «s» из запроса или пустое место, а вторая функция Mod определяет, должна ли она быть строкой «b» или «s» в строке запрос.

Третий столбец тоже похож

=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),if(mod(rows($1:3),3)<2,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2+mod(rows($1:3),3),3),L11-L12),"")

Первая функция Mod используется для определения, должно ли она отображать количество из запроса или разницу двух предыдущих строк, а вторая функция Mod определяет, должна ли она быть строкой «b» или «s» запрос.

Четвертый столбец практически идентичен второму.

=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),if(mod(rows($1:3),3)<2,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2+mod(rows($1:3),3),4),""),"")

введите описание изображения здесь

(Я не мог понять, как рассчитывать фактическую прибыль).

person Tom Sharpe    schedule 18.04.2017
comment
Работа заключалась в том, чтобы вести инвентаризацию любого небольшого магазина, в котором товары покупаются по разным ценам. Это одна страница для записи всего, а затем посмотрите, что есть в наличии, какова прибыль от продажи и т. Д. В виде отчета. - person rain; 19.04.2017