Принципы подсветки формул в Excel 
				   
 
 
 Serge_007  
 Дата: Понедельник, 07.01.2013, 01:40 | 
 Сообщение № 41     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16475 
 
 
 
 
  Репутация:    
 2750    
 ±  
 
  
 Замечаний:
    ±  
   Excel 2016          
  
 
 
 Как Экс их подвечивает? 
 
 
 
ЮMoney :41001419691823 |  WMR :126292472390    
  
  
  
 Ответить 
Сообщение Как Экс их подвечивает? Автор - Serge_007  Дата добавления - 07.01.2013  в 01:40   
 
 
 ikki  
 Дата: Понедельник, 07.01.2013, 01:43 | 
 Сообщение № 42     
   
 
   
 
 
 Группа: Друзья  
 
 
 Ранг: Старожил  
 
 Сообщений:  1906 
 
 
 
 
  Репутация:    
 504    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2003, 2010          
  
 
 
 ессно, ссылки на одну и ту же ячейку - одним цветом, на разные - разными.   всё по фен-шую.   можете убедиться 
 
 
ессно, ссылки на одну и ту же ячейку - одним цветом, на разные - разными.   всё по фен-шую.   можете убедиться ikki  
 
 К сообщению приложен файл:   
						
							r1c1.xls 
							(12.5 Kb) 
						  
помощь по Excel и VBA   ikki@fxmail.ru, icq 592842413, skype alex.ikki 
Сообщение отредактировал ikki  - Понедельник, 07.01.2013, 01:44 
  
  
  
 Ответить 
Сообщение ессно, ссылки на одну и ту же ячейку - одним цветом, на разные - разными.   всё по фен-шую.   можете убедиться Автор - ikki  Дата добавления - 07.01.2013  в 01:43   
 
 
 nerv  
 Дата: Понедельник, 07.01.2013, 02:46 | 
 Сообщение № 43     
   
 
  
   
 
 
 Группа: Редакторы  
 
 
 Ранг: Обитатель  
 
 Сообщений:  431 
 
 
 
     
  
 
 
 тогда я предлагаю не замарачиваться с опередлением идентичных ссылок в стиле R1C1, если они не полностью идентичны   итого:   R1C1 полностью идентичные светим одинаково   Цитата  (MCH )
=B1+$B$1+B$1+$B1
    светим одинаково   еще я солидарен с   Цитата  (ikki )
не вижу (ай! не бейте меня пагалаве! щикотно ж...) серьезного смысла подсвечивать на форуме адреса (имена)
    если в именах разрешены рус., тогда все названия функций (на рус) повыделяет, если попытаться выделять имена eng, тогда повыделяет функции на eng   В целом как очучения от подсветки?  
 
 
тогда я предлагаю не замарачиваться с опередлением идентичных ссылок в стиле R1C1, если они не полностью идентичны   итого:   R1C1 полностью идентичные светим одинаково   Цитата  (MCH )
=B1+$B$1+B$1+$B1
    светим одинаково   еще я солидарен с   Цитата  (ikki )
не вижу (ай! не бейте меня пагалаве! щикотно ж...) серьезного смысла подсвечивать на форуме адреса (имена)
    если в именах разрешены рус., тогда все названия функций (на рус) повыделяет, если попытаться выделять имена eng, тогда повыделяет функции на eng   В целом как очучения от подсветки? nerv  
 
Чебурашка стал символом олимпийских игр. А чего достиг ты?   Тишина - самый громкий звук    YM  41001156540584 / WM  WMR R21924176233   https://github.com/nervgh/vba  
  
  
  
 Ответить 
Сообщение тогда я предлагаю не замарачиваться с опередлением идентичных ссылок в стиле R1C1, если они не полностью идентичны   итого:   R1C1 полностью идентичные светим одинаково   Цитата  (MCH )
=B1+$B$1+B$1+$B1
    светим одинаково   еще я солидарен с   Цитата  (ikki )
не вижу (ай! не бейте меня пагалаве! щикотно ж...) серьезного смысла подсвечивать на форуме адреса (имена)
    если в именах разрешены рус., тогда все названия функций (на рус) повыделяет, если попытаться выделять имена eng, тогда повыделяет функции на eng   В целом как очучения от подсветки? Автор - nerv  Дата добавления - 07.01.2013  в 02:46   
 
 
 ikki  
 Дата: Понедельник, 07.01.2013, 02:55 | 
 Сообщение № 44     
   
 
   
 
 
 Группа: Друзья  
 
 
 Ранг: Старожил  
 
 Сообщений:  1906 
 
 
 
 
  Репутация:    
 504    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2003, 2010          
  
 
 
 по именам-функциям можно проверять наличие открывающей скобки после последовательности символов.   т.е. как-то так:   [vba]Код
("([\wа-яё_\d]+?)(?=[^(])"
 [/vba]   только надо еще учесть, что первый символ не м.б. цифрой (подчёркиванием - может)   нормальные очучения. красивая новогодняя гирлянда выходит.   да и задачка интересная, хоть и бессмысленная     (мне пофиг, я в каске)   пс. шаблон неправильный, но идея, надеюсь, понятна.   я в процессе поиска. кстати, пока никак не могу с восклицаками и кавычками разобраться - ночь на дворе   
 
 
по именам-функциям можно проверять наличие открывающей скобки после последовательности символов.   т.е. как-то так:   [vba]Код
("([\wа-яё_\d]+?)(?=[^(])"
 [/vba]   только надо еще учесть, что первый символ не м.б. цифрой (подчёркиванием - может)   нормальные очучения. красивая новогодняя гирлянда выходит.   да и задачка интересная, хоть и бессмысленная     (мне пофиг, я в каске)   пс. шаблон неправильный, но идея, надеюсь, понятна.   я в процессе поиска. кстати, пока никак не могу с восклицаками и кавычками разобраться - ночь на дворе  ikki  
 
помощь по Excel и VBA   ikki@fxmail.ru, icq 592842413, skype alex.ikki 
Сообщение отредактировал ikki  - Понедельник, 07.01.2013, 02:59 
  
  
  
 Ответить 
Сообщение по именам-функциям можно проверять наличие открывающей скобки после последовательности символов.   т.е. как-то так:   [vba]Код
("([\wа-яё_\d]+?)(?=[^(])"
 [/vba]   только надо еще учесть, что первый символ не м.б. цифрой (подчёркиванием - может)   нормальные очучения. красивая новогодняя гирлянда выходит.   да и задачка интересная, хоть и бессмысленная     (мне пофиг, я в каске)   пс. шаблон неправильный, но идея, надеюсь, понятна.   я в процессе поиска. кстати, пока никак не могу с восклицаками и кавычками разобраться - ночь на дворе  Автор - ikki  Дата добавления - 07.01.2013  в 02:55   
 
 
 nerv  
 Дата: Понедельник, 07.01.2013, 03:31 | 
 Сообщение № 45     
   
 
  
   
 
 
 Группа: Редакторы  
 
 
 Ранг: Обитатель  
 
 Сообщений:  431 
 
 
 
     
  
 
 
 Цитата  (ikki )
ночь на дворе
    аналогично     Цитата  (ikki )
по именам-функциям можно проверять наличие открывающей скобки после последовательности символов
    ничего не понял )   Цитата  (ikki )
нормальные очучения. красивая новогодняя гирлянда выходит. 
        Цитата  (ikki )
я в процессе поиска. кстати, пока никак не могу с восклицаками и кавычками разобраться
    про кавычки. Вот весь "главный" код  (см. комменты) 
 
 
Цитата  (ikki )
ночь на дворе
    аналогично     Цитата  (ikki )
по именам-функциям можно проверять наличие открывающей скобки после последовательности символов
    ничего не понял )   Цитата  (ikki )
нормальные очучения. красивая новогодняя гирлянда выходит. 
        Цитата  (ikki )
я в процессе поиска. кстати, пока никак не могу с восклицаками и кавычками разобраться
    про кавычки. Вот весь "главный" код  (см. комменты)nerv  
 
Чебурашка стал символом олимпийских игр. А чего достиг ты?   Тишина - самый громкий звук    YM  41001156540584 / WM  WMR R21924176233   https://github.com/nervgh/vba  
Сообщение отредактировал nerv  - Понедельник, 07.01.2013, 03:37 
  
  
  
 Ответить 
Сообщение Цитата  (ikki )
ночь на дворе
    аналогично     Цитата  (ikki )
по именам-функциям можно проверять наличие открывающей скобки после последовательности символов
    ничего не понял )   Цитата  (ikki )
нормальные очучения. красивая новогодняя гирлянда выходит. 
        Цитата  (ikki )
я в процессе поиска. кстати, пока никак не могу с восклицаками и кавычками разобраться
    про кавычки. Вот весь "главный" код  (см. комменты)Автор - nerv  Дата добавления - 07.01.2013  в 03:31   
 
 
 ikki  
 Дата: Понедельник, 07.01.2013, 03:56 | 
 Сообщение № 46     
   
 
   
 
 
 Группа: Друзья  
 
 
 Ранг: Старожил  
 
 Сообщений:  1906 
 
 
 
 
  Репутация:    
 504    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2003, 2010          
  
 
 
 комментов по кавычкам не нашел, но регу увидел.   спасибо, хотя я уже успел и сам к этому прийти.   по восклицакам - аналогично м. сделать.   это я так, для себя, на VBA пиликаю.   а твой код для меня местами непонятен     по поводу имен и скобки:   т.к. мы не можем проверить, имеется ли какое-либо имя в книге или Ex нам выдаст ошибку #ИМЯ?, то любую последовательность символов, похожую на имя, будем считать именем.   небольшая засада состоит в том, что имена могут полностью или частично совпадать с названиями функций.   и, в общем-то, неважно, функции из какой локали использованы в формуле.   важно, чтобы функции НЕ подсвечивались, а имена - подсвечивались.   мне кажется, что в формуле после имени не может идти открывающая (круглая) скобка.   а после функции она идет обязательно.   и это можно использовать.   как думаешь?  
 
 
комментов по кавычкам не нашел, но регу увидел.   спасибо, хотя я уже успел и сам к этому прийти.   по восклицакам - аналогично м. сделать.   это я так, для себя, на VBA пиликаю.   а твой код для меня местами непонятен     по поводу имен и скобки:   т.к. мы не можем проверить, имеется ли какое-либо имя в книге или Ex нам выдаст ошибку #ИМЯ?, то любую последовательность символов, похожую на имя, будем считать именем.   небольшая засада состоит в том, что имена могут полностью или частично совпадать с названиями функций.   и, в общем-то, неважно, функции из какой локали использованы в формуле.   важно, чтобы функции НЕ подсвечивались, а имена - подсвечивались.   мне кажется, что в формуле после имени не может идти открывающая (круглая) скобка.   а после функции она идет обязательно.   и это можно использовать.   как думаешь? ikki  
 
помощь по Excel и VBA   ikki@fxmail.ru, icq 592842413, skype alex.ikki 
Сообщение отредактировал ikki  - Понедельник, 07.01.2013, 07:31 
  
  
  
 Ответить 
Сообщение комментов по кавычкам не нашел, но регу увидел.   спасибо, хотя я уже успел и сам к этому прийти.   по восклицакам - аналогично м. сделать.   это я так, для себя, на VBA пиликаю.   а твой код для меня местами непонятен     по поводу имен и скобки:   т.к. мы не можем проверить, имеется ли какое-либо имя в книге или Ex нам выдаст ошибку #ИМЯ?, то любую последовательность символов, похожую на имя, будем считать именем.   небольшая засада состоит в том, что имена могут полностью или частично совпадать с названиями функций.   и, в общем-то, неважно, функции из какой локали использованы в формуле.   важно, чтобы функции НЕ подсвечивались, а имена - подсвечивались.   мне кажется, что в формуле после имени не может идти открывающая (круглая) скобка.   а после функции она идет обязательно.   и это можно использовать.   как думаешь? Автор - ikki  Дата добавления - 07.01.2013  в 03:56   
 
 
 ikki  
 Дата: Понедельник, 07.01.2013, 07:25 | 
 Сообщение № 47     
   
 
   
 
 
 Группа: Друзья  
 
 
 Ранг: Старожил  
 
 Сообщений:  1906 
 
 
 
 
  Репутация:    
 504    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2003, 2010          
  
 
 
 в общем...   наваял я тут со скуки и в рамках повышенных обязательств по освоению новых методов и средств.   пока - без учета стиля R1C1 и ссылок на один и тот же диапазон.   и о скобках даже не начинал еще думать.   но... можть пригодится   
 
 
в общем...   наваял я тут со скуки и в рамках повышенных обязательств по освоению новых методов и средств.   пока - без учета стиля R1C1 и ссылок на один и тот же диапазон.   и о скобках даже не начинал еще думать.   но... можть пригодится  ikki  
 
 К сообщению приложен файл:   
						
							fhl.xls 
							(33.0 Kb) 
						  
помощь по Excel и VBA   ikki@fxmail.ru, icq 592842413, skype alex.ikki 
Сообщение отредактировал ikki  - Понедельник, 07.01.2013, 07:29 
  
  
  
 Ответить 
Сообщение в общем...   наваял я тут со скуки и в рамках повышенных обязательств по освоению новых методов и средств.   пока - без учета стиля R1C1 и ссылок на один и тот же диапазон.   и о скобках даже не начинал еще думать.   но... можть пригодится  Автор - ikki  Дата добавления - 07.01.2013  в 07:25   
 
 
 Serge_007  
 Дата: Понедельник, 07.01.2013, 10:13 | 
 Сообщение № 48     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16475 
 
 
 
 
  Репутация:    
 2750    
 ±  
 
  
 Замечаний:
    ±  
   Excel 2016          
  
 
 
 Цитата  (ikki )
 после имени не может идти открывающая (круглая) скобка.   а после функции она идет обязательно
    Именно   Скобки вообще недопустимы в имени, а в названии функции они будут всегда 
 
 
Цитата  (ikki )
 после имени не может идти открывающая (круглая) скобка.   а после функции она идет обязательно
    Именно   Скобки вообще недопустимы в имени, а в названии функции они будут всегдаSerge_007  
 
ЮMoney :41001419691823 |  WMR :126292472390    
  
  
  
 Ответить 
Сообщение Цитата  (ikki )
 после имени не может идти открывающая (круглая) скобка.   а после функции она идет обязательно
    Именно   Скобки вообще недопустимы в имени, а в названии функции они будут всегдаАвтор - Serge_007  Дата добавления - 07.01.2013  в 10:13   
 
 
 ikki  
 Дата: Понедельник, 07.01.2013, 12:31 | 
 Сообщение № 49     
   
 
   
 
 
 Группа: Друзья  
 
 
 Ранг: Старожил  
 
 Сообщений:  1906 
 
 
 
 
  Репутация:    
 504    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2003, 2010          
  
 
 
 продолжаем     Цитата  (ikki )
пока - без учета стиля R1C1 и ссылок на один и тот же диапазон. 
    вроде получилось учесть     предполагается , что ссылки не  содержат синтаксических ошибок, а имена не  содержат символ $   в принципе, можно ещё навертеть...   но, имхо, не стоит.  
 
 
продолжаем     Цитата  (ikki )
пока - без учета стиля R1C1 и ссылок на один и тот же диапазон. 
    вроде получилось учесть     предполагается , что ссылки не  содержат синтаксических ошибок, а имена не  содержат символ $   в принципе, можно ещё навертеть...   но, имхо, не стоит. ikki  
 
 
помощь по Excel и VBA   ikki@fxmail.ru, icq 592842413, skype alex.ikki 
Сообщение отредактировал ikki  - Понедельник, 07.01.2013, 12:54 
  
  
  
 Ответить 
Сообщение продолжаем     Цитата  (ikki )
пока - без учета стиля R1C1 и ссылок на один и тот же диапазон. 
    вроде получилось учесть     предполагается , что ссылки не  содержат синтаксических ошибок, а имена не  содержат символ $   в принципе, можно ещё навертеть...   но, имхо, не стоит. Автор - ikki  Дата добавления - 07.01.2013  в 12:31   
 
 
 Serge_007  
 Дата: Понедельник, 07.01.2013, 12:49 | 
 Сообщение № 50     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16475 
 
 
 
 
  Репутация:    
 2750    
 ±  
 
  
 Замечаний:
    ±  
   Excel 2016          
  
 
 
 Ага   Похоже на правду) 
 
 
 
ЮMoney :41001419691823 |  WMR :126292472390    
  
  
  
 Ответить 
Сообщение Ага   Похоже на правду) Автор - Serge_007  Дата добавления - 07.01.2013  в 12:49   
 
 
 nerv  
 Дата: Среда, 09.01.2013, 01:34 | 
 Сообщение № 51     
   
 
  
   
 
 
 Группа: Редакторы  
 
 
 Ранг: Обитатель  
 
 Сообщений:  431 
 
 
 
     
  
 
 
 Выделяются ячейки, диапазоны и имена.   Из обработки исключены текстовые строки и абсолютные ссылки.   Одинаковые ссылки подсвечиваются одинаково.   пробуем тут    проект    p.s.: скобки на сладкое  
 
 
Выделяются ячейки, диапазоны и имена.   Из обработки исключены текстовые строки и абсолютные ссылки.   Одинаковые ссылки подсвечиваются одинаково.   пробуем тут    проект    p.s.: скобки на сладкое nerv  
 
Чебурашка стал символом олимпийских игр. А чего достиг ты?   Тишина - самый громкий звук    YM  41001156540584 / WM  WMR R21924176233   https://github.com/nervgh/vba  
  
  
  
 Ответить 
Сообщение Выделяются ячейки, диапазоны и имена.   Из обработки исключены текстовые строки и абсолютные ссылки.   Одинаковые ссылки подсвечиваются одинаково.   пробуем тут    проект    p.s.: скобки на сладкое Автор - nerv  Дата добавления - 09.01.2013  в 01:34   
 
 
 nerv  
 Дата: Среда, 09.01.2013, 18:16 | 
 Сообщение № 52     
   
 
  
   
 
 
 Группа: Редакторы  
 
 
 Ранг: Обитатель  
 
 Сообщений:  431 
 
 
 
     
  
 
 
 ikki , объявляю тебе публичную благодарность за файл с примерами. Позаимствовал оттуда тестовые формулы.   Вообщем, задача не тривиальная, 100 результата не будет, это надо понимать.   =ПСТР(A1;ПОИСКПОЗ(ИСТИНА ;ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1;);ПРОСМОТР(2;1/(ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1);СТРОКА($1:$99))-ПОИСКПОЗ(ИСТИНА;ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1;)+1)   ='D:\прочее\планета\[Книга 2.xls]Лист 2'!$A$1+'[Книга1]Лист 3'!$E$16:E$17 +A2+b7   (эти два случая я пофиксил, просто на сервер не пушил (push))   и т.д.   Со скобками тоже не айс: придется проверять вложенность, складывать в массив или еще куда-то. Благо, изначально пошел по пути наименьшего сопротивления. ikki , ты понял о чем я )
 
 
ikki , объявляю тебе публичную благодарность за файл с примерами. Позаимствовал оттуда тестовые формулы.   Вообщем, задача не тривиальная, 100 результата не будет, это надо понимать.   =ПСТР(A1;ПОИСКПОЗ(ИСТИНА ;ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1;);ПРОСМОТР(2;1/(ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1);СТРОКА($1:$99))-ПОИСКПОЗ(ИСТИНА;ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1;)+1)   ='D:\прочее\планета\[Книга 2.xls]Лист 2'!$A$1+'[Книга1]Лист 3'!$E$16:E$17 +A2+b7   (эти два случая я пофиксил, просто на сервер не пушил (push))   и т.д.   Со скобками тоже не айс: придется проверять вложенность, складывать в массив или еще куда-то. Благо, изначально пошел по пути наименьшего сопротивления. ikki , ты понял о чем я )nerv  
 
Чебурашка стал символом олимпийских игр. А чего достиг ты?   Тишина - самый громкий звук    YM  41001156540584 / WM  WMR R21924176233   https://github.com/nervgh/vba  
Сообщение отредактировал nerv  - Среда, 09.01.2013, 18:24 
  
  
  
 Ответить 
Сообщение ikki , объявляю тебе публичную благодарность за файл с примерами. Позаимствовал оттуда тестовые формулы.   Вообщем, задача не тривиальная, 100 результата не будет, это надо понимать.   =ПСТР(A1;ПОИСКПОЗ(ИСТИНА ;ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1;);ПРОСМОТР(2;1/(ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1);СТРОКА($1:$99))-ПОИСКПОЗ(ИСТИНА;ПОИСКПОЗ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$99);1));{65;122})=1;)+1)   ='D:\прочее\планета\[Книга 2.xls]Лист 2'!$A$1+'[Книга1]Лист 3'!$E$16:E$17 +A2+b7   (эти два случая я пофиксил, просто на сервер не пушил (push))   и т.д.   Со скобками тоже не айс: придется проверять вложенность, складывать в массив или еще куда-то. Благо, изначально пошел по пути наименьшего сопротивления. ikki , ты понял о чем я )Автор - nerv  Дата добавления - 09.01.2013  в 18:16   
 
 
 ikki  
 Дата: Среда, 09.01.2013, 18:27 | 
 Сообщение № 53     
   
 
   
 
 
 Группа: Друзья  
 
 
 Ранг: Старожил  
 
 Сообщений:  1906 
 
 
 
 
  Репутация:    
 504    
 ±  
 
  
 Замечаний:
 0%   ±  
   Excel 2003, 2010          
  
 
 
 со скобками даже и не думай реги юзать.   на хабре это сто раз обсуждали.   если не веришь - могу ссылки дать     обычный перебор по порядку, открывающая - увеличиваем счетчик, закрывающая - уменьшаем.  
 
 
со скобками даже и не думай реги юзать.   на хабре это сто раз обсуждали.   если не веришь - могу ссылки дать     обычный перебор по порядку, открывающая - увеличиваем счетчик, закрывающая - уменьшаем. ikki  
 
помощь по Excel и VBA   ikki@fxmail.ru, icq 592842413, skype alex.ikki 
  
  
  
 Ответить 
Сообщение со скобками даже и не думай реги юзать.   на хабре это сто раз обсуждали.   если не веришь - могу ссылки дать     обычный перебор по порядку, открывающая - увеличиваем счетчик, закрывающая - уменьшаем. Автор - ikki  Дата добавления - 09.01.2013  в 18:27   
 
 
 nerv  
 Дата: Среда, 09.01.2013, 18:54 | 
 Сообщение № 54     
   
 
  
   
 
 
 Группа: Редакторы  
 
 
 Ранг: Обитатель  
 
 Сообщений:  431 
 
 
 
     
  
 
 
 все зависит от результата, который необходимо получить. Например, можно так  (регами). Достает из глубины наружу.   задача со скобками почти аналогична парсингу bbcode : )  
 
 
все зависит от результата, который необходимо получить. Например, можно так  (регами). Достает из глубины наружу.   задача со скобками почти аналогична парсингу bbcode : ) nerv  
 
Чебурашка стал символом олимпийских игр. А чего достиг ты?   Тишина - самый громкий звук    YM  41001156540584 / WM  WMR R21924176233   https://github.com/nervgh/vba  
Сообщение отредактировал nerv  - Среда, 09.01.2013, 18:55 
  
  
  
 Ответить 
Сообщение все зависит от результата, который необходимо получить. Например, можно так  (регами). Достает из глубины наружу.   задача со скобками почти аналогична парсингу bbcode : ) Автор - nerv  Дата добавления - 09.01.2013  в 18:54   
 
 
 Serge_007  
 Дата: Понедельник, 14.01.2013, 15:25 | 
 Сообщение № 55     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16475 
 
 
 
 
  Репутация:    
 2750    
 ±  
 
  
 Замечаний:
    ±  
   Excel 2016          
  
 
 
 Первый тест:   Код
=ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^8);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^6);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^5);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/1000);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(A1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(A1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/100);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОТБР(A1)=0;"ноль ";ЕСЛИ(ОСТАТ(ОТБР(A1/10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1);10)+1);""))&"рубл"&ЕСЛИ(ОСТАТ(ОТБР(A1/10);10)=1;"ей";ВПР(ОСТАТ(ОТБР(A1);10);{0;"ей":1;"ь":2;"я":5;"ей"};2))&ТЕКСТ(ОТБР((A1-ОТБР(A1)+0,00001)*100);" 00\ коп.;;")
  
 
 
Первый тест:   Код
=ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^8);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^6);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^5);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/1000);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(A1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(A1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/100);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОТБР(A1)=0;"ноль ";ЕСЛИ(ОСТАТ(ОТБР(A1/10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1);10)+1);""))&"рубл"&ЕСЛИ(ОСТАТ(ОТБР(A1/10);10)=1;"ей";ВПР(ОСТАТ(ОТБР(A1);10);{0;"ей":1;"ь":2;"я":5;"ей"};2))&ТЕКСТ(ОТБР((A1-ОТБР(A1)+0,00001)*100);" 00\ коп.;;")
 Serge_007  
 
ЮMoney :41001419691823 |  WMR :126292472390    
  
  
  
 Ответить 
Сообщение Первый тест:   Код
=ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^8);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^6);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^5);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/1000);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(A1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(A1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/100);10)+1)&ВЫБОР(ОСТАТ(ОТБР(A1/10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОТБР(A1)=0;"ноль ";ЕСЛИ(ОСТАТ(ОТБР(A1/10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1);10)+1);""))&"рубл"&ЕСЛИ(ОСТАТ(ОТБР(A1/10);10)=1;"ей";ВПР(ОСТАТ(ОТБР(A1);10);{0;"ей":1;"ь":2;"я":5;"ей"};2))&ТЕКСТ(ОТБР((A1-ОТБР(A1)+0,00001)*100);" 00\ коп.;;")
 Автор - Serge_007  Дата добавления - 14.01.2013  в 15:25   
 
 
 Serge_007  
 Дата: Понедельник, 14.01.2013, 15:40 | 
 Сообщение № 56     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16475 
 
 
 
 
  Репутация:    
 2750    
 ±  
 
  
 Замечаний:
    ±  
   Excel 2016          
  
 
 
 Сравнение:   Код
=СУММ(ЕСЛИ(B$4:AF$4;ЕСЛИ(B8:AF8>(B$4:AF$4*8+2);2;ЕСЛИ(B8:AF8>B$4:AF$4*8;B8:AF8-B$4:AF$4*8))))
      
 
 
Сравнение:   Код
=СУММ(ЕСЛИ(B$4:AF$4;ЕСЛИ(B8:AF8>(B$4:AF$4*8+2);2;ЕСЛИ(B8:AF8>B$4:AF$4*8;B8:AF8-B$4:AF$4*8))))
     Serge_007  
 
 
ЮMoney :41001419691823 |  WMR :126292472390    
  
  
  
 Ответить 
Сообщение Сравнение:   Код
=СУММ(ЕСЛИ(B$4:AF$4;ЕСЛИ(B8:AF8>(B$4:AF$4*8+2);2;ЕСЛИ(B8:AF8>B$4:AF$4*8;B8:AF8-B$4:AF$4*8))))
     Автор - Serge_007  Дата добавления - 14.01.2013  в 15:40   
 
 
 Serge_007  
 Дата: Понедельник, 14.01.2013, 16:08 | 
 Сообщение № 57     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16475 
 
 
 
 
  Репутация:    
 2750    
 ±  
 
  
 Замечаний:
    ±  
   Excel 2016          
  
 
 
 На мой взгляд - отлично получилось, Спасибо Саш!   О мелких различиях написал в личку   Следующей задачей будет сделать подсказку по функциям, при наведении на формулу курсора, как на фото выше постом. Я думаю это будет гораздо проще, чем подсветка синтаксиса   
 
 
На мой взгляд - отлично получилось, Спасибо Саш!   О мелких различиях написал в личку   Следующей задачей будет сделать подсказку по функциям, при наведении на формулу курсора, как на фото выше постом. Я думаю это будет гораздо проще, чем подсветка синтаксиса  Serge_007  
 
ЮMoney :41001419691823 |  WMR :126292472390    
  
  
  
 Ответить 
Сообщение На мой взгляд - отлично получилось, Спасибо Саш!   О мелких различиях написал в личку   Следующей задачей будет сделать подсказку по функциям, при наведении на формулу курсора, как на фото выше постом. Я думаю это будет гораздо проще, чем подсветка синтаксиса  Автор - Serge_007  Дата добавления - 14.01.2013  в 16:08   
 
 
 _Boroda_  
 Дата: Понедельник, 14.01.2013, 16:38 | 
 Сообщение № 58     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16956 
 
 
 
 
  Репутация:    
 6631    
 ±  
 
  
 Замечаний:
    ±  
   2003; 2007; 2010; 2013 RUS          
  
 
 
 А у меня в IE не светится, а в лисе нормально все 
 
 
А у меня в IE не светится, а в лисе нормально все _Boroda_  
 
Скажи мне, кудесник, любимец ба’гов...    Платная помощь:    Boroda_Excel@mail.ru    Яндекс-деньги:  41001632713405  |  Webmoney:  R289877159277; Z102172301748; E177867141995    
  
  
  
 Ответить 
Сообщение А у меня в IE не светится, а в лисе нормально все Автор - _Boroda_  Дата добавления - 14.01.2013  в 16:38   
 
 
 nerv  
 Дата: Понедельник, 14.01.2013, 16:56 | 
 Сообщение № 59     
   
 
  
   
 
 
 Группа: Редакторы  
 
 
 Ранг: Обитатель  
 
 Сообщений:  431 
 
 
 
     
  
 
 
 Цитата  (Serge_007 )
На мой взгляд - отлично получилось, Спасибо Саш!
    тебе спасибо     Цитата  (_Boroda_ )
А у меня в IE не светится, а в лисе нормально все
    это временное явление. Консоль IE сообщает   SEC7112: Сценарий из https://raw.github.com/nervgh....init.js  был заблокирован из-за несоответствия типа MIME   Скрипт инициализации плагина сейчас лежит на сервере GitHub и ссылку на него можно давать только так. А вообще, IE must die     Цитата  (Serge_007 )
Следующей задачей будет сделать подсказку по функциям, при наведении на формулу курсора, как на фото выше постом. Я думаю это будет гораздо проще, чем подсветка синтаксиса
    можно. Но пока я не готов   (там сервер + клиент) 
 
 
Цитата  (Serge_007 )
На мой взгляд - отлично получилось, Спасибо Саш!
    тебе спасибо     Цитата  (_Boroda_ )
А у меня в IE не светится, а в лисе нормально все
    это временное явление. Консоль IE сообщает   SEC7112: Сценарий из https://raw.github.com/nervgh....init.js  был заблокирован из-за несоответствия типа MIME   Скрипт инициализации плагина сейчас лежит на сервере GitHub и ссылку на него можно давать только так. А вообще, IE must die     Цитата  (Serge_007 )
Следующей задачей будет сделать подсказку по функциям, при наведении на формулу курсора, как на фото выше постом. Я думаю это будет гораздо проще, чем подсветка синтаксиса
    можно. Но пока я не готов   (там сервер + клиент)nerv  
 
Чебурашка стал символом олимпийских игр. А чего достиг ты?   Тишина - самый громкий звук    YM  41001156540584 / WM  WMR R21924176233   https://github.com/nervgh/vba  
Сообщение отредактировал nerv  - Понедельник, 14.01.2013, 17:05 
  
  
  
 Ответить 
Сообщение Цитата  (Serge_007 )
На мой взгляд - отлично получилось, Спасибо Саш!
    тебе спасибо     Цитата  (_Boroda_ )
А у меня в IE не светится, а в лисе нормально все
    это временное явление. Консоль IE сообщает   SEC7112: Сценарий из https://raw.github.com/nervgh....init.js  был заблокирован из-за несоответствия типа MIME   Скрипт инициализации плагина сейчас лежит на сервере GitHub и ссылку на него можно давать только так. А вообще, IE must die     Цитата  (Serge_007 )
Следующей задачей будет сделать подсказку по функциям, при наведении на формулу курсора, как на фото выше постом. Я думаю это будет гораздо проще, чем подсветка синтаксиса
    можно. Но пока я не готов   (там сервер + клиент)Автор - nerv  Дата добавления - 14.01.2013  в 16:56   
 
 
 nerv  
 Дата: Вторник, 15.01.2013, 01:41 | 
 Сообщение № 60     
   
 
  
   
 
 
 Группа: Редакторы  
 
 
 Ранг: Обитатель  
 
 Сообщений:  431 
 
 
 
     
  
 
 
 думаю, надо шрифт в формулах поменять. Этот не читаем. Правьте стили ) 
 
 
думаю, надо шрифт в формулах поменять. Этот не читаем. Правьте стили ) nerv  
 
Чебурашка стал символом олимпийских игр. А чего достиг ты?   Тишина - самый громкий звук    YM  41001156540584 / WM  WMR R21924176233   https://github.com/nervgh/vba  
  
  
  
 Ответить 
Сообщение думаю, надо шрифт в формулах поменять. Этот не читаем. Правьте стили ) Автор - nerv  Дата добавления - 15.01.2013  в 01:41