George L Пользователь Сообщений: 23 |
вопрос собственно в теме… возможно ли как нибудь увеличить в ячейке длину формулы…?! а то длина в 8192 символа не помешается… (8192 это где то 2.5 страницы в ворд , а нужно что бы 7 было ) Изменено: БМВ — 06.02.2023 20:04:17 |
Тимофеев Пользователь Сообщений: 1495 |
делите на 3 формулы по 8192 и четвертой собирайте итог Изменено: Тимофеев — 06.02.2023 14:03:00 |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#3 06.02.2023 14:07:26
например, так: добавить апостроф и посчитать функцией ДЛСТР() |
||
George L Пользователь Сообщений: 23 |
#4 06.02.2023 14:09:12
вопрос то не про три -четыре ячейки, а про одну. |
||
George L Пользователь Сообщений: 23 |
#5 06.02.2023 14:11:28
спасибо, но длина текста в ячейке не актуальна… просто формула очень длинная получается |
||
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#6 06.02.2023 14:19:44
А что актуально? Мой ответ конкретно на Ваш вопрос в названии темы. |
||
George L Пользователь Сообщений: 23 |
#7 06.02.2023 14:22:29
поэтому в Теме и стоят многоточия, а в самом первом посте раскрывается тема детальнее, по аналогии с экселем и темой, тогда бы все вместо первого сообщения и писали сам вопрос именно в «теме».. |
||
БМВ Модератор Сообщений: 21376 Excel 2013, 2016 |
#8 06.02.2023 14:24:21
сделали для того чтоб не появлялось таких формул. По вопросам из тем форума, личку не читаю. |
||
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
George L, я Вам про название темы, а Вы про стартовое сообщение. |
George L Пользователь Сообщений: 23 |
#10 06.02.2023 14:36:04
тоже логично. =(СЧЁТЕСЛИМН(‘[Копия |
||
George L Пользователь Сообщений: 23 |
#11 06.02.2023 14:44:31
Уважаемый Юрий, ваше сообщение не относится к теме обсуждения в рамках проблематики excel, и это ведь немного лишнее будет обсуждение, тем более если вы отвечая на вопрос использовали кнопку «цитировать» и выделили именно вопрос не из темы, а именно из первого поста, что собственно говорит о том, что Вы прочли именно вопрос, а не тему. А согласно моей логике я же и написал, что если опираться на озвученное Вами, ТОЛЬКО на текст в «Теме» тогда в первом посте вообще можно не писать ничего… Ps. я благодарен Вам за желание помочь Изменено: George L — 06.02.2023 14:51:00 |
||
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
George L, не вставляйте скопированное — прикрепляйте рисунок файлом. Правда, в рисунках формулы не работают. |
George L Пользователь Сообщений: 23 |
#13 06.02.2023 14:53:31
Юрий посмотрите чуть выше, я изменил уже сразу , когда рисунок вставился не корректно, а если говорить все таки про excel, а не про «цитирование» то, пример формулы приведен еще чуть выше и если обратите внимание не рисунком… |
||
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#14 06.02.2023 14:54:18
Замечания модераторов по оформлению, по названию, соблюдению правил относятся к ЛЮБОЙ теме. И Вы глубоко ошибаетесь, если считаете, что в теме должны быть только ответы на Ваш вопрос. |
||
George L Пользователь Сообщений: 23 |
#15 06.02.2023 15:01:02 Юрий М,
|
||
_Boroda_ Пользователь Сообщений: 1496 Контакты см. в профиле |
Вы пример файла приложите наконец или одно из двух? Скажи мне, кудесник, любимец ба’гов… |
George L Пользователь Сообщений: 23 |
#17 06.02.2023 16:03:21
Прикрепленные файлы
|
||
Ігор Гончаренко Пользователь Сообщений: 13746 |
#18 06.02.2023 16:38:59
Прикрепленные файлы
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
memo Пользователь Сообщений: 1422 Excel 2013/2016 |
#19 06.02.2023 17:28:53 Для разнообразия. Формула массива.
З.Ы. пара скобок лишняя, можете убрать сами) Прикрепленные файлы
Изменено: memo — 06.02.2023 17:30:32 |
||
George L Пользователь Сообщений: 23 |
|
БМВ Модератор Сообщений: 21376 Excel 2013, 2016 |
#21 06.02.2023 19:54:31
ну если честно, то читая я думаю как раз о том, что есть короткая формула, и её нужно увеличить, сделать из нее длинную, а не справится с ограничением еxcel или сократить формулу. Изменено: БМВ — 06.02.2023 19:56:17 По вопросам из тем форума, личку не читаю. |
||
George L Пользователь Сообщений: 23 |
#22 06.02.2023 20:00:53
согласен, |
||||
George L Пользователь Сообщений: 23 |
в добавлении к теме:) тогда — либо как еще оптимизировать монстроподобную формулу — в нормальную ps. БМВ спасибо) Изменено: George L — 06.02.2023 20:18:33 |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#24 06.02.2023 20:36:55
Я ничего не менял. |
||
БМВ Модератор Сообщений: 21376 Excel 2013, 2016 |
массивка По вопросам из тем форума, личку не читаю. |
George L Пользователь Сообщений: 23 |
#26 07.02.2023 08:51:07
сорри тогда, значит другой, просто тоже не менял.
первые три столбца точно столбцы по полной будут использоваться.. там более 10к строк |
||||
БМВ Модератор Сообщений: 21376 Excel 2013, 2016 |
#27 07.02.2023 20:11:40
10К строк это 1% от допустимого миллиона — это называется по поной? По вопросам из тем форума, личку не читаю. |
||
George L Пользователь Сообщений: 23 |
#28 08.02.2023 14:39:56
по сравнению с миллионом конечно нет, но в данном случае же не выделять каждый раз меняя в формуле диапазон (начальный и конечный *фиксированный*) |
||
БМВ Модератор Сообщений: 21376 Excel 2013, 2016 |
сделайте с запасом, даже 100К строк это 10% от того объема что функция просматривает при обработке всего столбца. Это касается именно СЧЁТЕСЛИМН, в отличии от подобных, и видимо её писал непутевый программист, она работает именно так, хотя СУМЕСЛИМН уже обрабатывает только используемый диапазон. По вопросам из тем форума, личку не читаю. |
George L Пользователь Сообщений: 23 |
#30 16.02.2023 09:34:47
только время вышло написать.. (кстати сам файлик после внесения изменений начал грузиться дольше где то секунд 10 из-за вычисления потоков) |
||
Длина формулы превышает 8192 знака |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
There are at least two forms of formula in Excel. One is used for cells, and the other is used for data validation. The max length limit for the formula to do data validation is about only 210 chars.
Here is a problem I am trying to solve. Given a data set with categories and values
category value1 value2
a 1.0 ...
a 2.0
a 1.0
a 3.0
b 1.0
b 5.0
b 2.0 ...
...
I want to validate these values by checking if the value change from the row above is within one sigma deviation of its category. That means we need to skip the first row of each category.
Here is what I tried:
The following formula works for cells of each category beginning from the second row to the last row of its category.
=INDIRECT(ADDRESS(ROW(), COLUMN())) - INDIRECT(ADDRESS(ROW()-1, COLUMN())) <
1.0*STDDEV.P(INDIRECT(ADDRESS(MATCH(INDIRECT("A" & ROW()), $A:$A, 0), COLUMN()) & ":" &ADDRESS(MATCH(INDIRECT("A"&ROW()),$A:$A, 1), COLUMN())))
However, the following doesn’t work because of the max length limit of formula in excel — just add IF(formula_above, True, False):
=IF(INDIRECT(ADDRESS(ROW(), COLUMN())) - INDIRECT(ADDRESS(ROW()-1, COLUMN())) <
1.0*STDDEV.P(INDIRECT(ADDRESS(MATCH(INDIRECT("A" & ROW()), $A:$A, 0), COLUMN()) & ":" &ADDRESS(MATCH(INDIRECT("A"&ROW()),$A:$A, 1), COLUMN()))), TRUE, FALSE)
This can work if one input the formula into a cell, but it doesn’t work for the refer-to formula of Data Validation.
To work with all cells all rows (without need to manully skip the first row of each category), I wrote following formula for data validation. But it gives «The FOrmula currently evaluates to an error…» because of the max length limit of the excel.
=IF(MATCH(INDIRECT("A" & ROW()), $A:$A, 0) = ROW(), TRUE,
INDIRECT(ADDRESS(ROW(), COLUMN())) - INDIRECT(ADDRESS(ROW()-1, COLUMN())) <
1.0*STDDEV.P(INDIRECT(ADDRESS(MATCH(INDIRECT("A" & ROW()), $A:$A, 0), COLUMN()) & ":" &ADDRESS(MATCH(INDIRECT("A"&ROW()),$A:$A, 1), COLUMN()))))
Although Microsoft claims that the length limit of formula of excel is «8192», it seems not true:
https://support.office.com/en-nz/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
Update:
Here is another try for the formula of «Data Validation»:
=IF($A2<>$A1, TRUE, abs(B2-B1)<Stdev.P(offset(indirect(address(match($A2,$A:$A,0), column())), 0,0,countif($A:$A, $A2,1)))
It is strange that the True/False value of the formula above is correct when I input in a cell, but when I input it in the «Data Validation» ->Custom -> Formula. The result is completely wrong. It always gives False.
0 / 0 / 0 Регистрация: 03.06.2012 Сообщений: 31 |
|
1 |
|
Обход ограничения «Слишком длинная формула»09.11.2012, 16:55. Показов 19481. Ответов 8
Приветствую всех специалистов по EXСEL. Периодически возникают сложности с длинными формулами — которые программа отказывается обрабатывать. В этих случаях я решаю эту проблему тем, что дописываю новые условия в рядом находящуюся ячейку — что не совсем удобно. Вопрос: существует ли возможность снять ограничение на длину формул?.. Формулы, длину которых я ищу возможность увеличить, состоят из алгоритмов сравнения (ЕСЛИ/И/ИЛИ) динамических данных двух ячеек. Буду очень признателен за ответ.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
09.11.2012, 16:55 |
8 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
09.11.2012, 17:01 |
2 |
существует ли возможность снять ограничение на длину формул? Нет. В каждой версии есть свои ограничения
Формулы, длину которых я ищу возможность увеличить, состоят из алгоритмов сравнения (ЕСЛИ/И/ИЛИ) динамических данных двух ячеек Эти формулы легко «укоротить». Способов много, о некоторых из них даже написано в справке Excel
1 |
0 / 0 / 0 Регистрация: 03.06.2012 Сообщений: 31 |
|
09.11.2012, 18:35 [ТС] |
3 |
Добрый вечер, уважаемый Serge 007 .
0 |
2633 / 1333 / 255 Регистрация: 25.10.2010 Сообщений: 2,194 |
|
09.11.2012, 19:02 |
4 |
возможность радикально удлинить формулу Наверное, здесь вопрос даже не в длине формулы, а в ограничении количества вложений функций, в частности ЕСЛИ
направление поиска решения задачи Без конкретного примера трудно угадать, но возможно, если правильно организовать данные, помогут функции ПРОСМОТР, ВПР, ГПР, ИНДЕКС+ПОИСКПОЗ
1 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
09.11.2012, 20:54 |
5 |
1) Если в какой-либо из версий EXCEL есть возможность радикально удлинить формулу по сравнению с моей ‘2003 версией — подскажите, пожалуйста, как она называется. Каждая последующая версия Excel (2007,2010,2013) обладает всё большими возможностями для некоторых функций. Например количество вложений функций ЕСЛИ() в
направление поиска решения задачи Надо видеть эту задачу. Универсальных решений не бывает
1 |
0 / 0 / 0 Регистрация: 03.06.2012 Сообщений: 31 |
|
09.11.2012, 21:50 [ТС] |
6 |
Уважаемые Serge 007 и Pelena, в приведенном мною примере (во вложенном файле) ячейка А3 содержит всего несколько формул — но реально их может быть 500 и более, аналогичных этим по контексту. Вычисления происходят исключительно в плоскости двух ячеек. К сожалению, унифицированных алгоритмов вычисления для значений ячеек А1 и А2 нет — исключая случаи точного соответствия.
0 |
2633 / 1333 / 255 Регистрация: 25.10.2010 Сообщений: 2,194 |
|
09.11.2012, 23:04 |
7 |
Ничего не поняла Кстати, условие ПСТР(A2;1;2)<>СУММ(ПСТР(A2;2;1)+ПРАВСИМВ(A2)) будет всегда истинным (если только первая цифра числа не ноль)
0 |
0 / 0 / 0 Регистрация: 03.06.2012 Сообщений: 31 |
|
10.11.2012, 03:00 [ТС] |
8 |
Ничего не поняла Да я тоже пока мало чего понимаю — поэтому здесь и консультируюсь.. (шутка, ессно).
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
11.11.2012, 02:29 |
9 |
Я думаю чем городить такую многоэтажность, проще написать UDF, где нет в общем никаких ограничений.
0 |
hello guys
I am using office 2019
I tried to maintain our work activity progress in the project by making a tracking plane depending on the entry data we have provided it in another sheet table
for an example:
I have a finished work along alignment from
station : 0+300 to 0+500
and from
station : 0+700 to 0+900
i would like highlight the cells under my station’s dividing in the sheet
I have used this formula and it was successful:
=IF(OR(AND(A$1>=BEDDING!$A$1,A$1<=BEDDING!$B$1),AND(A$1>=BEDDING!$A$2,A$1<=BEDDING!$B$2),AND(A$1>=BEDDING!$A$3,A$1<=BEDDING!$B$3),AND(A$1>=BEDDING!$A$4,A$1<=BEDDING!$B$4),AND(A$1>=BEDDING!$A$5,A$1<=BEDDING!$B$5),AND(A$1>=BEDDING!$A$6,A$1<=BEDDING!$B$6),AND(A$1>=BEDDING!$A$7,A$1<=BEDDING!$B$7),AND(A$1>=BEDDING!$A$8,A$1<=BEDDING!$B$8),AND(A$1>=BEDDING!$A$9,A$1<=BEDDING!$B$9),AND(A$1>=BEDDING!$A$10,A$1<=BEDDING!$B$10),AND(A$1>=BEDDING!$A$11,A$1<=BEDDING!$B$11),AND(A$1>=BEDDING!$A$12,A$1<=BEDDING!$B$12),AND(A$1>=BEDDING!$A$13,A$1<=BEDDING!$B$13),AND(A$1>=BEDDING!$A$14,A$1<=BEDDING!$B$14),AND(A$1>=BEDDING!$A$15,A$1<=BEDDING!$B$15),AND(A$1>=BEDDING!$A$16,A$1<=BEDDING!$B$16),AND(A$1>=BEDDING!$A$17,A$1<=BEDDING!$B$17),AND(A$1>=BEDDING!$A$18,A$1<=BEDDING!$B$18),AND(A$1>=BEDDING!$A$19,A$1<=BEDDING!$B$19),AND(A$1>=BEDDING!$A$20,A$1<=BEDDING!$B$20),AND(A$1>=BEDDING!$A$21,A$1<=BEDDING!$B$21),AND(A$1>=BEDDING!$A$22,A$1<=BEDDING!$B$22),AND(A$1>=BEDDING!$A$23,A$1<=BEDDING!$B$23),AND(A$1>=BEDDING!$A$24,A$1<=BEDDING!$B$24),AND(A$1>=BEDDING!$A$25,A$1<=BEDDING!$B$25),AND(A$1>=BEDDING!$A$26,A$1<=BEDDING!$B$26),AND(A$1>=BEDDING!$A$27,A$1<=BEDDING!$B$27),AND(A$1>=BEDDING!$A$28,A$1<=BEDDING!$B$28),AND(A$1>=BEDDING!$A$29,A$1<=BEDDING!$B$29),AND(A$1>=BEDDING!$A$30,A$1<=BEDDING!$B$30),AND(A$1>=BEDDING!$A$31,A$1<=BEDDING!$B$31),AND(A$1>=BEDDING!$A$32,A$1<=BEDDING!$B$32),AND(A$1>=BEDDING!$A$33,A$1<=BEDDING!$B$33),AND(A$1>=BEDDING!$A$34,A$1<=BEDDING!$B$34),AND(A$1>=BEDDING!$A$35,A$1<=BEDDING!$B$35),AND(A$1>=BEDDING!$A$36,A$1<=BEDDING!$B$36),AND(A$1>=BEDDING!$A$37,A$1<=BEDDING!$B$37),AND(A$1>=BEDDING!$A$38,A$1<=BEDDING!$B$38),AND(A$1>=BEDDING!$A$39,A$1<=BEDDING!$B$39),AND(A$1>=BEDDING!$A$40,A$1<=BEDDING!$B$40),AND(A$1>=BEDDING!$A$41,A$1<=BEDDING!$B$41),AND(A$1>=BEDDING!$A$42,A$1<=BEDDING!$B$42),AND(A$1>=BEDDING!$A$43,A$1<=BEDDING!$B$43),AND(A$1>=BEDDING!$A$44,A$1<=BEDDING!$B$44),AND(A$1>=BEDDING!$A$45,A$1<=BEDDING!$B$45),AND(A$1>=BEDDING!$A$46,A$1<=BEDDING!$B$46),AND(A$1>=BEDDING!$A$47,A$1<=BEDDING!$B$47),AND(A$1>=BEDDING!$A$48,A$1<=BEDDING!$B$48),AND(A$1>=BEDDING!$A$49,A$1<=BEDDING!$B$49),AND(A$1>=BEDDING!$A$50,A$1<=BEDDING!$B$50),AND(A$1>=BEDDING!$A$51,A$1<=BEDDING!$B$51),AND(A$1>=BEDDING!$A$52,A$1<=BEDDING!$B$52),AND(A$1>=BEDDING!$A$53,A$1<=BEDDING!$B$53),AND(A$1>=BEDDING!$A$54,A$1<=BEDDING!$B$54),AND(A$1>=BEDDING!$A$55,A$1<=BEDDING!$B$55),AND(A$1>=BEDDING!$A$56,A$1<=BEDDING!$B$56),AND(A$1>=BEDDING!$A$57,A$1<=BEDDING!$B$57),AND(A$1>=BEDDING!$A$58,A$1<=BEDDING!$B$58),AND(A$1>=BEDDING!$A$59,A$1<=BEDDING!$B$59),AND(A$1>=BEDDING!$A$60,A$1<=BEDDING!$B$60),AND(A$1>=BEDDING!$A$61,A$1<=BEDDING!$B$61),AND(A$1>=BEDDING!$A$62,A$1<=BEDDING!$B$62),AND(A$1>=BEDDING!$A$63,A$1<=BEDDING!$B$63),AND(A$1>=BEDDING!$A$64,A$1<=BEDDING!$B$64),AND(A$1>=BEDDING!$A$65,A$1<=BEDDING!$B$65),AND(A$1>=BEDDING!$A$66,A$1<=BEDDING!$B$66),AND(A$1>=BEDDING!$A$67,A$1<=BEDDING!$B$67),AND(A$1>=BEDDING!$A$68,A$1<=BEDDING!$B$68),AND(A$1>=BEDDING!$A$69,A$1<=BEDDING!$B$69),AND(A$1>=BEDDING!$A$70,A$1<=BEDDING!$B$70),AND(A$1>=BEDDING!$A$71,A$1<=BEDDING!$B$71),AND(A$1>=BEDDING!$A$72,A$1<=BEDDING!$B$72),AND(A$1>=BEDDING!$A$73,A$1<=BEDDING!$B$73),AND(A$1>=BEDDING!$A$74,A$1<=BEDDING!$B$74),AND(A$1>=BEDDING!$A$75,A$1<=BEDDING!$B$75),AND(A$1>=BEDDING!$A$76,A$1<=BEDDING!$B$76),AND(A$1>=BEDDING!$A$77,A$1<=BEDDING!$B$77),AND(A$1>=BEDDING!$A$78,A$1<=BEDDING!$B$78),AND(A$1>=BEDDING!$A$79,A$1<=BEDDING!$B$79),AND(A$1>=BEDDING!$A$80,A$1<=BEDDING!$B$80),AND(A$1>=BEDDING!$A$81,A$1<=BEDDING!$B$81),AND(A$1>=BEDDING!$A$82,A$1<=BEDDING!$B$82),AND(A$1>=BEDDING!$A$83,A$1<=BEDDING!$B$83),AND(A$1>=BEDDING!$A$84,A$1<=BEDDING!$B$84),AND(A$1>=BEDDING!$A$85,A$1<=BEDDING!$B$85),AND(A$1>=BEDDING!$A$86,A$1<=BEDDING!$B$86),AND(A$1>=BEDDING!$A$87,A$1<=BEDDING!$B$87),AND(A$1>=BEDDING!$A$88,A$1<=BEDDING!$B$88),AND(A$1>=BEDDING!$A$89,A$1<=BEDDING!$B$89),AND(A$1>=BEDDING!$A$90,A$1<=BEDDING!$B$90),AND(A$1>=BEDDING!$A$91,A$1<=BEDDING!$B$91),AND(A$1>=BEDDING!$A$92,A$1<=BEDDING!$B$92),AND(A$1>=BEDDING!$A$93,A$1<=BEDDING!$B$93),AND(A$1>=BEDDING!$A$94,A$1<=BEDDING!$B$94),AND(A$1>=BEDDING!$A$95,A$1<=BEDDING!$B$95),AND(A$1>=BEDDING!$A$96,A$1<=BEDDING!$B$96),AND(A$1>=BEDDING!$A$97,A$1<=BEDDING!$B$97),AND(A$1>=BEDDING!$A$98,A$1<=BEDDING!$B$98),AND(A$1>=BEDDING!$A$99,A$1<=BEDDING!$B$99),AND(A$1>=BEDDING!$A$100,A$1<=BEDDING!$B$100)),1,0)
but I can’t enter character more than 8192
so is there any solution for it or other way to solve it
best regards