Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Просуммировать значения с учетом частоты параметра
 
JayBhagavan, исправил, спасибо еще раз!
Просуммировать значения с учетом частоты параметра
 
JayBhagavan, спасибо! Супер! Немного поменял, чтобы автоматически диапазон изменялся при изменении количества строк (пустых не будет), получилось так, все работает. Огромное спасибо!
Код
=СУММПРОИЗВ(ДВССЫЛ("$E$2:E"&СЧЁТЕСЛИ($E:$E;">"&0)+1);1/СЧЁТЕСЛИ(ДВССЫЛ("$D$2:$D"&СЧЁТЕСЛИ($E:$E;">"&0)+1);ДВССЫЛ("$D$2:$D"&СЧЁТЕСЛИ($E:$E;">"&0)+1)))
 
Просуммировать значения с учетом частоты параметра
 
Добрый день!

В столбце A повторяющиеся значения (входят от одного до 4 раз), в столбце B - количество для указанного значения (при повторах значения в A - значения в B равные). Помогите, плз, формулой (желательно одной) посчитать сумму B без учета повторов в A. Т.к. это часть таблицы - удалять дубликаты невозможно, макрос тоже не подойдет, т.к. они отключены. Пример приложен. Заранее спасибо.
Изменено: aib1984aib - 28.11.2014 11:45:16
Получить числовое значение из ячейки
 
JayBhagavan, понял, спасибо!
Получить числовое значение из ячейки
 
Юрий М, абзацы выделяются одним, но если Вы рекомендуете писать через 2-3 - в следующий раз так и сделаю.

Владимир, JayBhagavan, спасибо за помощь.
 
Получить числовое значение из ячейки
 
В общем, не понимаю почему, но вот так заработало (после добавления Or m(i) = 100). Может кто-то сможет объяснить в чем дело...
Код
Function imax(r)
 r = Replace(r, "%", "")
 m = Split(r, " ")
 imax = 0
 For i = 0 To UBound(m)
 m(i) = IIf(IsNumeric(m(i)), m(i), 0)
 imax = IIf(imax < m(i) Or m(i) = 100, m(i), imax)
  Next i
End Function
 
Получить числовое значение из ячейки
 
JayBhagavan, посмотрите значение в С6, должно быть 1, а дает 0,3.
У меня та же проблема с кодом - не понимаю, почему второе значение не обрабатывается.  При этом в С3- нормально.   :(  
Код
Function imax(r)
 r = Replace(r, "%", "")
 m = Split(r, " ")
 imax = 0
 For i = 0 To UBound(m)
 m(i) = IIf(IsNumeric(m(i)), m(i), 0)
     imax = IIf(imax > m(i), imax, m(i))
  Next i

End Function
 
Изменено: aib1984aib - 31.10.2014 12:47:39
Получить числовое значение из ячейки
 
Владимир, спасибо, почему-то не сработало в ячейке с значением, содержащем 3%.
Изменено: aib1984aib - 31.10.2014 10:52:21
Получить числовое значение из ячейки
 
Цитата
JayBhagavan пишет: какова постановка...
Мда... Думал ведь, когда формулировал тему, что хотелось бы в VBA, но так и не написал...  :(
Получить числовое значение из ячейки
 
JayBhagavan, безусловно. Но это постоянная ручная работа, которой как раз хотелось бы избежать.
Получить числовое значение из ячейки
 
Добрый день.
Уважаемые форумчане, нужна ваша помощь.
Ежемесячно генерируется отчет, содержащий в одном из столбцов текстовое поле. В этом текстовом поле содержится число (может быть несколько). Помогите получить максимальное число из содержащихся в ячейке.
Пример на скрепке.

Заранее спасибо.
переделать формулу соответствия - перечислить все значения через запятую
 
Это с какой формулой?
Можно файл? С формулой из #8 такого быть не должно.
Удалить последний знак в ячейке если это запятая
 
Из справки Excel:
Цитата
Функция ПСТР возвращает заданное число знаков из текстовой строки, начиная с указанной позиции.
Функция ПРАВСИМВ возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа символов.
Функция ЛЕВСИМВ возвращает первый символ или несколько первых символов текстовой строки на основе заданного числа символов.
Изменено: aib1984aib - 21.09.2013 20:02:27
Удалить последний знак в ячейке если это запятая
 
Код
=ЕСЛИ(ПРАВСИМВ(A1;1)=",";ЛЕВСИМВ(A1;ДЛСТР(A1)-1);A1)
Изменено: aib1984aib - 21.09.2013 19:49:44 (Добавил проверку на запятую)
переделать формулу соответствия - перечислить все значения через запятую
 
Цитата
Да, на запятую надо встраивать отдельные условия, формула существенно длиннее будет.
Оказалось, можно проще...
Код
=ЕСЛИ(И(ЕСЛИОШИБКА(ПОИСК("large";$A$1);0)>0;ЕСЛИОШИБКА(ПОИСК("w.lid";$A$1);0)+ЕСЛИОШИБКА(ПОИСК("with tap";$A$1);0)=0)=ИСТИНА;"Большой размер";ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("large";$A$1);0)>0;"Большой,";""))&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("large";$A$1);0)>0;" ";"")&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("w.lid";$A$1);0)>0;"С краником";"")&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("w.lid";$A$1);0)*ЕСЛИОШИБКА(ПОИСК("with tap";$A$1);0)>0;", ";"")&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("with tap";$A$1);0)>0;"С крышкой";"")


Цитата
У меня 39 соответсвий в формуле будет.. если еще и формула одной будет длинная то excel сойдет с ума и я при составлении такой формулы  
Ну, тогда нужно пересматривать исходные данные, вполне возможно, что можно все намного проще сделать...  :)
Изменено: aib1984aib - 21.09.2013 19:35:48
переделать формулу соответствия - перечислить все значения через запятую
 
Цитата
с $A$1 формула не растягивалась почему-то, поменял на А1 и заработало. Принцип правильный только мне надо чтобы они шли через запятую ато вышло "Большой С краником С крышкой"
Да, на запятую надо встраивать отдельные условия, формула существенно длиннее будет.
Rustem, будут лишние запятые, если предмет просто С крышкой, но без краника...  :)
переделать формулу соответствия - перечислить все значения через запятую
 
Код
=ЕСЛИ(И(ЕСЛИОШИБКА(ПОИСК("large";$A$1);0)>0;ЕСЛИОШИБКА(ПОИСК("w.lid";$A$1);0)+ЕСЛИОШИБКА(ПОИСК("with tap";$A$1);0)=0)=ИСТИНА;"Большой размер";ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("large";$A$1);0)>0;"Большой";""))&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("large";$A$1);0)>0;", ";"")&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("w.lid";$A$1);0)>0;"С краником";"")&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("w.lid";$A$1);0)>0;", ";"")&ЕСЛИ(ЕСЛИОШИБКА(ПОИСК("with tap";$A$1);0)>0;"С крышкой";"")


Может быть местные гуру подскажут, как это сделать короче и проще.
Изменено: aib1984aib - 21.09.2013 19:08:56 (Добавил запятые в формулу.)
Как быстро найти ошибку в большой формуле ?
 
Цитата
вопрос был - как? мне тоже интересно :)
Честно говоря, абсолютно "в лоб" :( посмотрел, что формула состоит из независимых блоков ЕСЛИ(), скопировал в excel и бинарно разделяя нашел ошибку т и запостил. ТС-у лучше реорганизовать исходные данные, чем использовать такую формулу, малейшее изменение структуры и все заново переписывать...
Как быстро найти ошибку в большой формуле ?
 
Код
ЕСЛИ(I1630="UAHWMR";(B1630*F1630-(D1630+D1630*0,008)/G1630;"0")

Количество скобок не совпадает.

P.S. Даже страшно, что за задача требует такую формулу и не может быть решена другими методами.
ВПР половину считает, половину нет, ВПР правильно выдает только 16 первых значений
 
Пример прикрепите.
заполнение смежных ячеек по анализу цвета основных
 
Ну, хозяин-барин.
Тогда можете поставить PLEX (там есть функция анализа цвета заливки), можете воспользоваться файлом из ответа 2, там функция уже привязана к вашему цвету (зеленому), работает для анализа 1-й ячейки.
Может ли функция запустить процедуру?
 
Цитата
Для чего это нужно: функция не может влиять на свойства ячейки (?). Функцией запускаю процедуру и закрашиваю нужную ячейку.
А как Вы это представляете? Ну, по шагам, с учетом включенного автопересчета функций в excel.
Как преобразовать строки в рядки по критерию
 
Цитата
Владимир, можете написать полностью вашу функцию, а то ее на скриншоте видно не всю
Ну, Вы же тоже пример картинкой прикрепили, а не таблицей.
заполнение смежных ячеек по анализу цвета основных
 
Непонятно, почему F5:H5 желтые.
В остальном пример.
Зачем к цвету привязываться? Встроенными средствами excel его анализировать не умеет.
Вынос данных на другую страницу при нажатии на кнопку
 
Вот пример. Переносятся данные ФИО и тип ТС. Макрос в коде листа.
Защита строки макросом при помощи Chekbox, Помогите в простом разобраться
 
Попробуйте так.

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
            Target.Font.Name = "Marlett"
            If Target = vbNullString Then
                Target = "a"
            Else
                Target = vbNullString
            End If
        End If
        If Not Intersect(Target, Range("B2:K100")) Is Nothing Then
            If Cells(Target.Row, 1).Value = "a" Then
                Cells(Target.Row, 1).Activate
                Cells(Target.Row, 1).Value = "a"
                End If
        End If
End Sub

 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
        Cancel = True
        Target.Font.Name = "Marlett"
            If Target = vbNullString Then
                Target = "a"
            Else
                Target = vbNullString
            End If
    End If
End Sub 
ВПР по 3 условиям (легкий)
 
А как Вы ТЗ своим программистам поставили?

В Вашем примере:
1. У объекта № 100 2 записи с типом Ремонт со статусом Выполнена, а если статусы будут разные, что выводить?
2. У объекта № 100 2 записи с типом Обслуживание 2 со статусом Выполнена и Согласование, выведено в итоге Согласование, а куда делось Выполнена?
3. Можно ли проводить работы в другие даты? И не для всех объектов? Например, провести Ремонт 16/06 только для объекта 100?

Или программисты должны сами решить?

По поводу выделения только основных работ посмотрите пример.
Точность хранения данных, Отклонение в 10-м знаке
 
Только ОКРУГЛ()

Михаил, спасибо!
Точность хранения данных, Отклонение в 10-м знаке
 
Мда. Помогло. Спасибо.

1. А почему ОТБР(А1;2) не дает результата?
Вот я идиот. ОТБР() отбрасывает целую часть и оставляет дробную, а я читаю, что остается целая, а отбрасывается дробная.
2. Почему, если я вручную ввожу 2101773,19, формула =A26-ОТБР(A26) дает результат 0,189999999944121?

Откуда вообще возникает это расхождение? Как защититься от него в дальнейшем?
Точность хранения данных, Отклонение в 10-м знаке
 
Добрый день.

Столкнулся с такой проблемой. Есть некоторое количество данных с точностью 2 знака после запятой, по которым производится суммирование. Сумма должна быть 0.00, но откуда-то возникает отклонение в 10-14 знаке после запятой. Это приводит к тому, что сумма отлична от нуля в 9-м знаке. Это было бы не страшно, если бы эти данные в шаблоне не подавались в бухгалтерию, для которых "должно быть 0, у вас что-то неверно". То, что введенные данные неверны определяется формулой типа =ЕСЛИ(СУММ(A1:A97)<>0;1;0).

Уже перепробовал все, что мог придумать (умножал на 1, использовал =ОТБР(A1;2), перезабивал вручную, копировал в блокнот и вставлял из блокнота, менял форматы), но победить эти отклонения не могу.

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

При этом =ОТБР(A1) избавляет от этих остатков, переводя, по-видимому в формат целое, а =ОТБР(A1;2) или =ОТБР(A1*100)/100 не помогают.

Пример во вложении.
Страницы: 1
Наверх