Блог им. ruscash77

Подскажите с формулой в екселе

Подскажите кто знает можно ли в экселе формулу вбить под условие:

Есть задача:

Приходят письма с номерами 1,2,3,4,5 и т.д.
В этих письмах содержится определенное кол-во смыслового текста «А» и определенное кол-во смыслового текста «Б» (которое подсчитывается)
Данные заносятся в таблицу по следующему принципу

Письмо    Смысловой текст
1                        А
1                        А
2                        Б
3                        А
3                        Б
3                        Б
3                        Б
4                        Б
5                        А
5                        А
6                        Б
7                        А
8                        Б
9                        А
10                      Б

Таким образом при создании сводной таблицы получаем
Письмо   Смысловое содержание А      Смысловое содержание Б
1                              2 
2                                                                      1
3                              1                                      3
4                                                                      1
5                              2                                                    
6                                                                      1
7                              1
8                                                                      1
9                              1
10                                                                    1

Как посчитать:
сколько в итоге было записей А (не суммарных значений и без А + Б) — т.е. А = 4 (а не суммарно 7)
сколько было записей Б (не суммарных значений) — т.е. Б = 5 (а не суммарно 8)
сколько было А + Б т.е. А + Б = 1 шт.
★4
нужно количество строк с А и с Б?
avatar

MisterX

MisterX, по сути нужно кол-во ячеек только, где есть А

кол-во ячеек где есть только Б

кол-во ячеек где есть А и Б

Там идут столбцы к примеру по январю… затем рядом столбец по февралю и т.д.

avatar

Ruscash

MisterX, http://SSMaker.ru/76489e84/
avatar

Ruscash

фильтр + консолидация, если наименования столбцов или смысловых данных неизменное, то проще макрос, наверное городить
avatar

ale osetr

ale osetr, http://SSMaker.ru/76489e84/
avatar

Ruscash

в экселе можно много. вам нужно, чтобы тут придумали формулу или нужно реализовать уже придуманную формулу в эксель?
avatar

ABC

ABC, скорей всего формулу т.е. написанного ничего нет
avatar

Ruscash

ну так переносите данные на 1ю страницу общие если нужны обобщенные, на 2ю страницу А на 3ю -Б, на 4ю — А+Б если они нужны, начиная со 2й страницы по количеству строк будет видно количество записей, если без «шапки» в верхней строке то и отнимать ничего не надо, листы просто обозначите  А, Б, А+Б
avatar

MisterX

MisterX, очень большой массив данных больше 1500 тыс значений * на 12 месяцев
avatar

Ruscash

ruscash, ну и пусть, проблема то в чем? перенести? фильтром воспользуйтесь пустые -непустые
avatar

MisterX

Можно 3 дополнительных столбца в сводной создать и записать туда счетчики типа этого:
ЕСЛИ (И(A>0; Б=0);1;0)) — для А
ЕСЛИ (И(A=0; Б>0);1;0)) — для Б
ЕСЛИ (И(А>0; Б>0);1;0) — для А+Б
ну а потом просуммировать
avatar

Rondine

Rondine, спасибо бро — вставил и просуммировал ))))

Хреново, то что сразу в сводную такие столбцы не вставить — приходится копировать в след лист все данные по сводной таблице. Затем вставлять 3 столбца для ячеек и протягивать. У меня для каждого месяца (12-13 значений) и к тому же нужна быстрота — а тут получается большой массив данных и будет тратиться достаточное кол-во времени )))

Если знаешь как выйти из этой ситуации — подскажи, пожалуйста

 

А так за формулу спасибо 

avatar

Ruscash

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

ale osetr

ale osetr, все дело в том, что сначала берется информация из общей базы данных. Из нее делается сводная таблица. И затем уже нужно подсчитывать А и т.д. Значения постоянно меняются по А и по Б к письмам
avatar

Ruscash

ruscash, да вроде можно сразу в поле сводной интегрировать, создав вычисляемое поле.

Вкладка Анализ-группа Вычисления-Поля, элементы наборы-добавить поле… Ну там дальше разберешься
avatar

Rondine

Rondine, не надо множить энтропию,
СУММЕСЛИ и СУММЕСЛИМН, и СЧЕТЕСЛИ и СЧЕТЕСЛИМН отличные функции для подобных задач
avatar

AlexeyTikhonov

AlexeyT, можно и так. Я же навскидку сказал
avatar

Rondine

AlexeyT, можешь подсказать как с помощью этих функций решить эту проблему?!
avatar

Ruscash

ruscash,
=СЧЁТЕСЛИМН(C2:C11;">0";D2:D11;"")
и все
в колонке C у тебя кол-во A, в колонке D — кол-во B
ну и для других вариантов, просто условия меняешь — где числа, там ">0", где пустота — там ""
avatar

AlexeyTikhonov

AlexeyT, Спасибо братан — очень помог ))))

Подскажи, пожалуйста — если к примеру есть список, к примеру, 99, 109, 1001, 105 и т.д. И поступает информация вторым списком по типу 10, 30, 77, 100 и т.д. (т.е. второй список идентичен первому только не по порядку). Можно ли сравнить все значения из второго списка и каким-то образом вывести отдельными строками те значения, которые не сходятся с первым списком. Можно использовать метод сравнения. Но у меня список порядка 3000 тыс. строк. и каждый раз делать два столбика, сравнивать и пролистывать до конца геморно. Можно ли что бы первый большой список из 3000 строк, рядом список маленький и в третьей колонке идут значения из второго столбца, которые не повторяются в первом?!
avatar

Ruscash

ruscash, также почти
СЧЁТЕСЛИМН($C$5:$C$15;D5)
рядом в ячейке вводишь, где в C у тебя большой список,
в D5 первое значение из второй колонки
и протягиваешь ее до конца.
а потом фильтрами выберешь где 0, это и будет то, уникальное в малой, чего нет в большой
avatar

AlexeyTikhonov

AlexeyT, Подскажи, пожалуйста, если нужно посчитать следующим образом — есть диапазон и нужно что бы, если в левом столбце было пусто или 0 и в правом столбце стоит какое-то число больше 0, то считалось как 1 позиция

Не знаю как «или» вставить т.е. =СЧЁТЕСЛИМН(AI7:AI1958; (тут должно быть либо пустая ячейка либо равная нулю условие);AJ7:AJ1958;">0"

т.е.у меня бывает так, что в одной колонке стоит «0» в следующей стоит 1 и ексель по формуле через счетеслилимит не считает как одну позицию строчку из 0 и 1.

avatar

Ruscash

ruscash, если правильно понял, у тебя есть столбей одних значений,
рядом столбец других, и надо чтобы в третьем стояли единички если в первой 0, а во второй больше одно. так?
если так, то наверное так:
=(И(B3=0;C3>1))*1, и протянуть
avatar

AlexeyTikhonov

AlexeyT, нужно что бы в третьем подсчитывалась строка т.е. — первый столбец стоит 0, во втором стоит 1 или 2 или другое число. В третьем столбце будет стоять сумма первого и второго столбца. Т.е. если было 0 и 2, то в третьем будет стоять 2, а подсчитать эту строку нужно один раз. И если в первом столбце пусто, а во втором 1, 2 или т.д., то в третьем столбце будет сумма — т.е. пусто + 1 =1, но подсчитывать строку нужно 1 раз
avatar

Ruscash

ruscash, ничего не понял, ну так просто суммируй два столбца, а сверху введи счет, и он посчитает кол-во непустых ячеек.
avatar

AlexeyTikhonov

В своде вытащить в значения поле признака и применить операцию количество
avatar

Владислав


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW