Возможный дубликат:
Суммируйте значения в одном диапазоне на основе критериев в другом
У меня есть следующий документ Excel, в котором отслеживаются часы, необходимые для реализации различных задач по языку разработки (c#, sql, vb6):
В ячейке E8 я хотел бы посчитать общее количество часов для работы с C#. E9 для SQL и E10 для VB6. Очевидно, что я не могу использовать функцию SUM
. Возможно ли сделать то, что я хочу, не глядя в таблицу и не используя макросы?
решение1
Догадаться.
=SUMIF(D18:D26,"C#",E18:E26)
решение2
Хотя я не знал о вашем решении, другой способ добиться этого — создать сводную таблицу. Если вам приходится регулярно создавать такие отчеты для своих клиентов, возможно, будет хорошей идеей использовать ее. Это позволит вам группировать и анализировать ваши данные практически многими способами.
Это может показаться излишним, но на самом деле, как только вы проделаете это для одной структуры данных, все станет просто.
Вот ссылка:http://chandoo.org/wp/2009/08/19/excel-pivot-tables-tutorial/
решение3
Знак равенства — это оператор, который можно использовать в формулах. Так что-то вроде
=(A1=B1)
вернет TRUE, если A1 равно B1, и FALSE в противном случае.
Вы можете преобразовать его в число с помощьюint
=int(A1=B1)
вернет 1, если A1 равно B1, и 0, если нет.
Например, с помощью умножения можно «обнулить» значения, которые не удовлетворяют условию, т. е.
=SUM( (C1*(int(A1=B1))), C2 )
Это даст C1+C2, но только если A1=B1, в противном случае это будет просто значение C2.
Думаю, вы также можете проверить наличие определенных строк в ячейках (признаюсь: я не так уж часто пользуюсь Excel).
Вы можете проявить большую креативность и написать очень длинные форумы, от которых у вас будет болеть голова, которые будут выглядеть так, будто вы написали их на Perl, и которые будут непонятны, когда вы вернетесь к ним через 6 месяцев.