Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обойти ограничение Excel - не больше 30 аргументов в функции СУММ / 25 сообщений из 40, страница 1 из 2
30.10.2005, 13:21
    #33351590
Admiral67
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Подскажите, Pls

Как обойти ограничение (не больше 30 аргументов) у функции СУММ в Excel, если аргументов около 60-70. Народ, заранее хочу сказать что диапазоны ячеек здесь не при чем (и что можно суммировать хоть 65 000 ячеек как один аргумент - это понятно) - мои данные идут не подряд - одна ячейка в этом случае означает один аргумент.
...
Рейтинг: 0 / 0
30.10.2005, 17:23
    #33351716
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Можно по разному, например СУММ(СУММ();СУММ())
или СУММ(именованный_диапазон_в_котором_ячейки_не_смежные)
...
Рейтинг: 0 / 0
30.10.2005, 21:56
    #33351865
Admiral67
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Большое спасибо - это то что нужно. Да, про вложение функций я как-то позабыл, а ведь великая вещь!!!
...
Рейтинг: 0 / 0
08.09.2006, 15:55
    #33974674
USB2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
А у меня похожий вопрос возник: можно ли обойти ограничение на количество условий в функции ЕСЛИ? Мне нужно сравнивать одну ячейку с каждой ячейкой большого диапазона, и у меня получается так:
Код: plaintext
=ЕСЛИ(A6=$A$ 2 ;$A$ 1 ;ЕСЛИ(A6=$I$ 2 ;$I$ 1 ;ЕСЛИ(A6=$Q$ 2 ;$Q$ 1 ;ЕСЛИ(A6=$Y$ 2 ;$Y$ 1 ;ЕСЛИ(A6=$AG$ 2 ;$AG$ 1 ;ЕСЛИ(A6=$AO$ 2 ;$AO$ 1 ;ЕСЛИ(A6=$AW$ 2 ;$AW$ 1 ;ЕСЛИ(A6=$BM$ 2 ;$BM$ 1 ;""))))))))
, а дальше условия не вставляются, срабатывает ограничение "не больше восьми вложенных функций", и выдаётся сообщение: "Ошибка в формуле".
Подскажите, пожалуйста, можно ли что-то сделать в этом случае?
...
Рейтинг: 0 / 0
08.09.2006, 15:58
    #33974682
5631
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Написать пользовательскую функцию и использовать ее.
...
Рейтинг: 0 / 0
08.09.2006, 16:57
    #33974886
Tachkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Делишь кол-во диапазонов на 2.
потом с ИЛИ по условию = находишь то, что надо. Сложнее, но условий много больше.
...
Рейтинг: 0 / 0
08.09.2006, 20:59
    #33975412
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
USB2А у меня похожий вопрос возник: можно ли обойти ограничение на количество условий в функции ЕСЛИ? Мне нужно сравнивать одну ячейку с каждой ячейкой большого диапазона, и у меня получается так:
Код: plaintext
=ЕСЛИ(A6=$A$ 2 ;$A$ 1 ;ЕСЛИ(A6=$I$ 2 ;$I$ 1 ;ЕСЛИ(A6=$Q$ 2 ;$Q$ 1 ;ЕСЛИ(A6=$Y$ 2 ;$Y$ 1 ;ЕСЛИ(A6=$AG$ 2 ;$AG$ 1 ;ЕСЛИ(A6=$AO$ 2 ;$AO$ 1 ;ЕСЛИ(A6=$AW$ 2 ;$AW$ 1 ;ЕСЛИ(A6=$BM$ 2 ;$BM$ 1 ;""))))))))
, а дальше условия не вставляются, срабатывает ограничение "не больше восьми вложенных функций", и выдаётся сообщение: "Ошибка в формуле".
Подскажите, пожалуйста, можно ли что-то сделать в этом случае?Сделай так:
Код: plaintext
=ДВССЫЛ(АДРЕС( 1 ;ПОИСКПОЗ(A6;$ 2 :$ 2 ; 0 )))
Тоже самое почти... Только так ищет искомое значение A6 в каждой ячейке второй строки и при первом совпадении возвращает значение первой строки.
...
Рейтинг: 0 / 0
09.09.2006, 21:03
    #33976071
USB2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
5631
Написать пользовательскую функцию и использовать ее.
Я недавно занялся освоением функций в Excel, и, к сожалению, ещё не настолько хорошо знаком с ними, чтобы создавать собственные функции. Надеюсь, что когда нибудь я дойду до такого уровня…

Tachkin
Делишь кол-во диапазонов на 2.
потом с ИЛИ по условию = находишь то, что надо. Сложнее, но условий много больше. Честно говоря, не совсем понял, что имелось ввиду. Можно немного подробнее описать эту функцию?

Taranaga
Сделай так:
Код: plaintext
=ДВССЫЛ(АДРЕС( 1 ;ПОИСКПОЗ(A6;$ 2 :$ 2 ; 0 ))) 
Тоже самое почти... Только так ищет искомое значение A6 в каждой ячейке второй строки и при первом совпадении возвращает значение первой строки.
Почему-то не работает. Вот если без ДВССЫЛ писать, просто
Код: plaintext
=АДРЕС( 1 ;ПОИСКПОЗ(A6;$ 2 :$ 2 ; 0 ))) 
то получается текстовое отображение искомой ячейки, например, $AW$1. А после добавления впереди ДВССЫЛ в ячейке пишется просто 0. Может, чего-то ещё не хватает?

Большое спасибо всем откликнувшимся на просьбу о помощи!
...
Рейтинг: 0 / 0
10.09.2006, 23:38
    #33976874
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Admiral67Подскажите, Pls

Как обойти ограничение (не больше 30 аргументов) у функции СУММ в Excel, если аргументов около 60-70. Народ, заранее хочу сказать что диапазоны ячеек здесь не при чем (и что можно суммировать хоть 65 000 ячеек как один аргумент - это понятно) - мои данные идут не подряд - одна ячейка в этом случае означает один аргумент.

Вы будете долго смеяться, но самый простой способ это нижеследующее:

СУММ((A1,B2,...))

можно поставить столько рангов, сколько позволит макс. длинна формулы - 1024 знака.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
11.09.2006, 00:07
    #33976898
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
USB2 Почему-то не работает. Вот если без ДВССЫЛ писать, просто
Код: plaintext
=АДРЕС(1 ;ПОИСКПОЗ(A6;$ 2 :$ 2 ; 0 ))) 
то получается текстовое отображение искомой ячейки, например, $AW$1. А после добавления впереди ДВССЫЛ в ячейке пишется просто 0. Может, чего-то ещё не хватает?

Если вариант с ПОИСКПОЗ таки подходит, тогда лучше так (формула короче и не летучая):

=ИНДЕКС(1:1;1;ПОИСКПОЗ(A6;2:2;0))

Ну а если нет, тогда так (правда формула летучая):

=ВЫБОР(ПОИСКПОЗ(1;СЧЁТЕСЛИ(СМЕЩ(A2;;{0\1\2\3\4\5\6}*8);A6);0);A1;I1;Q1;Y1;AG1;AO1;AW1)

или так:

=ИНДЕКС((A1;I1;Q1;Y1;AG1;AO1;AW1);;;ПОИСКПОЗ(1;СЧЁТЕСЛИ(СМЕЩ(A2;;{0\1\2\3\4\5\6}*8);A6);0))


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
11.09.2006, 10:12
    #33977237
Tachkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
USB2 Tachkin
Делишь кол-во диапазонов на 2.
потом с ИЛИ по условию = находишь то, что надо. Сложнее, но условий много больше.
Честно говоря, не совсем понял, что имелось ввиду. Можно немного подробнее описать эту функцию?

Поясняюсь :)
В итоге твоя первоначальная ф-ла
Код: plaintext
=ЕСЛИ(A6=$A$2;$A$1;ЕСЛИ(A6=$I$2;$I$1;ЕСЛИ(A6=$Q$2;$Q$1;ЕСЛИ(A6=$Y$2;$Y$1;ЕСЛИ(A6=$AG$2;$AG$1;ЕСЛИ(A6=$AO$2;$AO$1;ЕСЛИ(A6=$AW$2;$AW$1;ЕСЛИ(A6=$BM$2;$BM$1;""))))))))

будет иметь вид:
Код: plaintext
=ЕСЛИ(ИЛИ($A$6=A1;$A$6=I1;$A$6=Q1;$A$6=Y1);ЕСЛИ(ИЛИ($A$6=A1;$A$6=I1);ЕСЛИ($A$6=A1;A2;ЕСЛИ($A$6=I1;I2));ЕСЛИ(ИЛИ($A$6=Q1;$A$6=Y1);ЕСЛИ($A$6=Q1;Q2;ЕСЛИ($A$6=Y1;Y2))));ЕСЛИ(ИЛИ($A$6=AG1;$A$6=AO1;$A$6=AW1;$A$6=BM1);ЕСЛИ(ИЛИ($A$6=AG1;$A$6=AO1);ЕСЛИ($A$6=AG1;AG2;ЕСЛИ($A$6=AO1;AO2));ЕСЛИ(ИЛИ($A$6=AW1;$A$6=BM1);ЕСЛИ($A$6=AW1;AW2;ЕСЛИ($A$6=BM1;BM2))))))
Но будет работать :)
...
Рейтинг: 0 / 0
11.09.2006, 10:46
    #33977321
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
USB2 Taranaga
Сделай так:
Код: plaintext
=ДВССЫЛ(АДРЕС( 1 ;ПОИСКПОЗ(A6;$ 2 :$ 2 ; 0 ))) 
Тоже самое почти... Только так ищет искомое значение A6 в каждой ячейке второй строки и при первом совпадении возвращает значение первой строки.
Почему-то не работает. Вот если без ДВССЫЛ писать, просто
Код: plaintext
=АДРЕС( 1 ;ПОИСКПОЗ(A6;$ 2 :$ 2 ; 0 ))) 
то получается текстовое отображение искомой ячейки, например, $AW$1. А после добавления впереди ДВССЫЛ в ячейке пишется просто 0. Может, чего-то ещё не хватает?=ДВССЫЛ("$AW$1") вернет значение ячейки $AW$1. Если значение этой ячейки = 0 то и вернет она 0.
...
Рейтинг: 0 / 0
11.09.2006, 11:12
    #33977408
Tachkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Ребят, если надо было бы проверять полностью строки, то я бы предложил:
Код: plaintext
{=ЕСЛИ(A6=$ 2 :$ 2 ;$ 1 :$ 1 ; 0 )}
Проверяются то отдельные ячейки.

ПыСы: я в верхней ф-ле перепутал 1-ю и 2-ю строки :)
...
Рейтинг: 0 / 0
11.09.2006, 16:41
    #33978680
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
...
Рейтинг: 0 / 0
11.09.2006, 22:11
    #33979349
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
TachkinРебят, если надо было бы проверять полностью строки, то я бы предложил:
Код: plaintext
{=ЕСЛИ(A6=$ 2 :$ 2 ;$ 1 :$ 1 ; 0 )}
Проверяются то отдельные ячейки.

Эта формула имеет три существенных недостатка:

1) она сработает только если искомое значение нах. в 1-ой ячейке
2) она медленная (неэффективная)
3) она вводится с пом. Ctrl+Shift+Enter


впрочем 2) И 3) уже не так существенны.

оптимальные решения я уже опубликовал вызше:

=ИНДЕКС(1:1;1;ПОИСКПОЗ(A6;2:2;0))


=ВЫБОР(ПОИСКПОЗ(1;СЧЁТЕСЛИ(СМЕЩ(A2;;{0\1\2\3\4\5\6}*8);A6);0);A1;I1;Q1;Y1;AG1;AO1;AW1)


=ИНДЕКС((A1;I1;Q1;Y1;AG1;AO1;AW1);;;ПОИСКПОЗ(1;СЧЁТЕСЛИ(СМЕЩ(A2;;{0\1\2\3\4\5\6}*8);A6);0))
...
Рейтинг: 0 / 0
11.09.2006, 22:14
    #33979352
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Ivan33 тынц

это то, о чем я сказал выше:

KL (XL)Вы будете долго смеяться, но самый простой способ это нижеследующее:

СУММ((A1,B2,...))

можно поставить столько рангов, сколько позволит макс. длинна формулы - 1024 знака.
...
Рейтинг: 0 / 0
12.09.2006, 09:37
    #33979728
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
KL (XL) Ivan33 тынц

это то, о чем я сказал выше:

KL (XL)Вы будете долго смеяться, но самый простой способ это нижеследующее:

СУММ((A1,B2,...))

можно поставить столько рангов, сколько позволит макс. длинна формулы - 1024 знака. ну, значит я только дополнил:) и подтвердил компетентность из других источникофф
...
Рейтинг: 0 / 0
27.12.2006, 13:39
    #34227815
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
KL (XL) Admiral67Подскажите, Pls

Как обойти ограничение (не больше 30 аргументов) у функции СУММ в Excel, если аргументов около 60-70. Народ, заранее хочу сказать что диапазоны ячеек здесь не при чем (и что можно суммировать хоть 65 000 ячеек как один аргумент - это понятно) - мои данные идут не подряд - одна ячейка в этом случае означает один аргумент.

Вы будете долго смеяться, но самый простой способ это нижеследующее:

СУММ((A1,B2,...))

можно поставить столько рангов, сколько позволит макс. длинна формулы - 1024 знака.

KL
[MVP - Microsoft Excel]
А к каким другим функциям можно применить двойные скобки?
Например ПРОИЗВЕД((A1;A2)) работает более чем с 30 аргументами
...
Рейтинг: 0 / 0
29.12.2006, 18:54
    #34233357
mic_2006
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
KL (XL) Admiral67Подскажите, Pls

Как обойти ограничение (не больше 30 аргументов) у функции СУММ в Excel, если аргументов около 60-70.

Вы будете долго смеяться, но самый простой способ это нижеследующее:

СУММ((A1,B2,...))

можно поставить столько рангов, сколько позволит макс. длинна формулы - 1024 знака.

KL
[MVP - Microsoft Excel]

Гениально!!! )
...
Рейтинг: 0 / 0
30.12.2006, 10:30
    #34233619
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
сочетанием клавиш Alt+F11 открываешь VBE откуда входишь Insert>Module
Функцию вставляешь в модуль

Function n(A, B, C) 'n-нужное значение A-аргумент1,B-аргумент2,C-аргумент3 и т.д.

If A = 0 Then
n = B + C
ElseIf B = 0 Then
n = A + C
ElseIf C = 0 Then
n = A + B
ElseIf A = 2 Then
n = A * C + B
ElseIf B = 2 Then
n = A + B * C
ElseIf C = 2 Then
n = A * C + B * C
ElseIf Условие Then
Действия

End If 'заканчиваем End If-ом

End Function
Всё гениалное просто
...
Рейтинг: 0 / 0
30.12.2006, 10:32
    #34233620
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
авторПодскажите, Pls

Как обойти ограничение (не больше 30 аргументов) у функции СУММ в Excel, если аргументов около 60-70. Народ, заранее хочу сказать что диапазоны ячеек здесь не при чем (и что можно суммировать хоть 65 000 ячеек как один аргумент - это понятно) - мои данные идут не подряд - одна ячейка в этом случае означает один аргумент.
Вообше то я бы порекомендовал SUMPRODUCT
...
Рейтинг: 0 / 0
30.12.2006, 11:23
    #34233654
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Смотри топик
SumIf - VBA
...
Рейтинг: 0 / 0
27.04.2007, 07:29
    #34491514
bradack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
проще всего, мне кажется поставить в ячейке (где ведется подсчет) знак "=" а потом выделить нужные для суммирования объектов чередуя их знаком "+", а в итоге нажать клавишу "enter", больше ничего и не надо, никакие правила ограничения количества суммируемых ячеек не действуют...
...
Рейтинг: 0 / 0
27.04.2007, 08:43
    #34491575
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
bradackпроще всего, мне кажется поставить в ячейке (где ведется подсчет) знак "=" а потом выделить нужные для суммирования объектов чередуя их знаком "+", а в итоге нажать клавишу "enter", больше ничего и не надо, никакие правила ограничения количества суммируемых ячеек не действуют... и тут ты... самый умный... толку с этого???! сам то пробовал???
...
Рейтинг: 0 / 0
27.04.2007, 09:01
    #34491606
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обойти ограничение Excel - не больше 30 аргументов в функции СУММ
Granata005 bradackпроще всего, мне кажется поставить в ячейке (где ведется подсчет) знак "=" а потом выделить нужные для суммирования объектов чередуя их знаком "+", а в итоге нажать клавишу "enter", больше ничего и не надо, никакие правила ограничения количества суммируемых ячеек не действуют... и тут ты... самый умный... толку с этого???! сам то пробовал???

:) :) :) :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обойти ограничение Excel - не больше 30 аргументов в функции СУММ / 25 сообщений из 40, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]