2016-08-01 8 views
1

Я пытаюсь создать сводную таблицу в excel и ниже - мой сценарий. У меня есть лист excel с 5 столбцами, где столбцы 1,2,3 имеют 3 разных имени человека (person1, person2, person3) в качестве заголовка, а соответствующие значения будут либо «да», либо «Нет». столбец 4 имеет суммы, а столбцы 5 будут иметь долю для каждого человека. Доля рассчитывается в зависимости от значения (да/нет), который присутствовал в 1-ом три колонки и формулы я использую для этогоExcel Pivot в зависимости от значений заголовка

 (D1/COUNTIFS(A1:C1,"Yes")) 
     i.e., dividing the (amount/ count(of persons having Yes value)) 

Person1 Person2 Person3 Amount PerHeadShare 
Yes  Yes  No  200   100 
Yes  Yes  Yes  300   100 
No   Yes  No  200   200 
No   No  Yes  100   100 

Теперь Мое требование создать сводную таблицу с двумя столбцами

  • столбец1 должны иметь 3 строки с PERSON1, Person2 и Person3

  • столбец2 должны иметь сумму доли суммы каждый человек, имеющий

    Name   Sum 
    Person1  200 
    Person2  400 
    Person3  200 
    

ответ

1

Если у вас есть опыт работы с SQL, вы можете попробовать что-то вроде этого:

Вкладка Data> Из Access> фильтр изменения файла All Files (*.*) и выберите файл Excel> Открыть> ОК> выберите Отчет сводной таблицы, Новый рабочий лист, а затем Свойства ...> Вкладка «Определение»> «Тип команды: SQL» и введите это в текст команды:

SELECT Name, Sum(PerHeadShare) As [Sum] FROM (
    SELECT 'Person1' As Name, Person1 AS y, * FROM [Sheet1$] UNION ALL 
    SELECT 'Person2' As Name, Person2 AS y, * FROM [Sheet1$] UNION ALL 
    SELECT 'Person3' As Name, Person3 AS y, * FROM [Sheet1$]) 
WHERE y = 'Yes' 
GROUP BY Name 

OK> OK> Перетащите поле «Имя» на «Ярлыки строк», перетащите поле «Сумма» на «Значения», а затем переименуйте заголовки в сводной таблице.

В Командном Текст «Лист1» должен быть изменен на имя листа, где данные с $ после него, или именованный диапазон без $ как [named Range] или определенный диапазон на листе, как [Sheet1$B2:F6]

Если у вас есть Excel 2010 или выше, это может быть немного проще с помощью Power Query или PowerPivot (у меня есть Excel 2007, поэтому я не могу попробовать).

+0

Я выполнил следующие шаги в соответствии с вашими предложениями, и я получаю сообщение об ошибке «Нет значения для одного или нескольких требуемых параметров» ... Имя моего листа такое же, как указано в запросе, который является Sheet1 ... поэтому i сохранил запрос как есть. Я попытался дать диапазон так же, как Sheet1 $ A1: C5, но не повезло –

+0

Можете ли вы попробовать его с помощью только 'SELECT * FROM [Sheet1 $]'. Обычно причиной этой ошибки является ошибочное имя. – Slai

+0

Идеально !! Он работает ... Это моя ошибка ... запрос отлично работает ... одно имя столбца неправильно написано на моем листе, что вызывает проблему. еще раз спасибо @Slai –

0

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

  1. Скопируйте первые 3 colums имен и паст где-то еще
  2. Затем введите формулу A8 и расширить до остальных полей: enter image description here

  3. Преобразовать диапазон A7: C11 до значений

  4. Вставьте его где-то еще, как транспонированная enter image description here

  5. сумма в дополнительной колонке

+0

Я получил ваше мнение, но для этого требуется много ручной работы и усилий. Я смог добиться того, что вы упомянули по-другому, используя функцию SUMIFS. Но это не то, что я ищу. Я хочу достичь этого, используя сводную таблицу без необходимости копировать и вставлять мои исходные данные.Любое предложение или решение приветствуются. и еще раз спасибо за ваше время. –

+0

Да, я так и думал .. Давайте посмотрим, получишь ли ты то, что хочешь. Я с нетерпением жду этого. – pawelty

Смежные вопросы