Как я могу умножить текст в столбцах на указанное число c, а затем подсчитать итог? - PullRequest
0 голосов
/ 10 марта 2020

Вот таблица, с которой я работаю:

enter image description here

Это анализ игры типа покемонов. Я посчитал mons из определенного списка c. Например, есть 74 армордигоала. Armordigoal имеет два типа: Iron и Rock.

Моя цель - подсчитать общее количество типов по всем подсчитанным mons. Под этим я подразумеваю, что 74 armordigoals означают +74 Iron и +74 rock. 61 Alligwamp будет означать +61 насекомое, а затем +61 камень (доведя общее количество камней до 135). Мне нужно получить полный общий счет для всех различных типов, перечисленных справа.

Я думал, что смогу как-нибудь использовать функцию REPT, но я не смог понять это.

Любая помощь приветствуется. Спасибо

Ответы [ 4 ]

1 голос
/ 10 марта 2020

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

  1. Преобразовать диапазон с данными в tblData
  2. Преобразовать диапазон со ссылками в tblRef

И использовать эту формулу рядом с Reference column:

=SUMPRODUCT((tblData[Type1]:tblData[Type2]=[@Reference])*(tblData[Count]))

Результаты:

enter image description here

1 голос
/ 10 марта 2020

Предполагая, что ваши примерные данные отображают столбцы A: F, вам потребуется сумма B: B, где C: C = F2, плюс сумма, если B: B, где D: D = F2. Это приводит вас к этой формуле.

=SUMIF($C$2:$C$80,F3,$B$2:$B$80)+SUMIF($D$2:$D$80,F3,$B$2:$B$80)
1 голос
/ 10 марта 2020

Насколько я понимаю, это, вероятно, то, что вы хотите:

  1. Извлеките все уникальные типы из [Type1] и [Type2] путем объединения 2 столбцов [Type1 и Type2] (я присоединился скопировав их в столбец H) -> нажмите кнопку Tab Data -> Remove Dulicate
  2. Рассчитайте сумму, соответствующую значениям

Формула, которую я использовал:

  I2=SUMPRODUCT(($D$2:$E$6=H2)*$C$2:$C$6)            'ctrl + shift + enter if not 

or:

  I2=SUMPRODUCT(MMULT(TRANSPOSE($C$2:$C$6),--($D$2:$E$6=H2)))

enter image description here

1 голос
/ 10 марта 2020

вы можете попробовать использовать фрейм данных в pandas, при суммировании по группам и подсчете вы получите всю статистику, которую вы можете искать

df.groupby['Type 1'].sum()

df.groupby['Type 1'].count()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...