powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
34 сообщений из 34, показаны все 2 страниц
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35018332
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
допустим, есть два текста в двух ячейках (например, в 2-х разных столбцах):
"текстовое сообщение"
"текстовка"

можно ли с помощью формулы определить номер символа с которого начинаются различия в двух текстах?
для данного примера ответ 8

формула нужна для того, чтобы сравнивать 2 варианта текстов, которые находятся в 2-х столбцах. Таких текстов (пар ячеек) много...
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35018620
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теоретически - можно
практически - если текстов много и/или они длинные, то может быть черезчур ресурсоемко/медленно

формула массива (ввод через CTRL+SHIFT+ENTER)
=ПОИСКПОЗ(ЛОЖЬ;ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)=ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1);0)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35018655
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
намного проще будет через собственную функцию. Что-то вроде этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public function FindFirstDifference(Cell1 as Range, Cell2 as Range) as Integer
     dim i as integer
     for i =  1  to len(cell1.text)
          if i>len(cell2.text) then
               result = i
               exit function
          end if
          if mid(cell1.text,i, 1 ) <> mid(cell2.text) then
               result = i
               exit function
          end if
     next
     if len(cell1.text)<len(cell2.text) then
          result = len(cell1.text) + 1 
     else
           result =  0 
     end if
end function
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35018704
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно ли я изменил формулу, если сравниваемы тексты в
C2 и D2

=ПОИСКПОЗ(ЛОЖЬ;ПСТР(C2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(C2)));1)=ПСТР(D2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(D2)));1);0)

??

и еще... как такое может быть: ПОИСКПОЗ(ЛОЖЬ; ?? я в недоумении..
прокомментируйте, плиз, хотя бы эту часть формулы, а лучше - всю формулу
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35018720
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
формула не работает, если и ДЛСТР(текст1)<ДЛСТР(текст2) и до до момента МАКС кол-во символов текст1 совпадают с тем же кол-вом символов текст2

но это нормально
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35025372
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А эта формула работает при любых раскладах: ;-)
{=СЧЁТ(ЕСЛИ(ПСТР(A1;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1)));1)=ПСТР(A2;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A2)));1);1))+1}

KL, а разве ДВССЫЛ() не летучая... ? Чего ты ушёл от конструкции СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1))) ?
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35025620
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikА эта формула работает при любых раскладах: ;-)
{=СЧЁТ(ЕСЛИ(ПСТР(A1;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1)));1)=ПСТР(A2;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A2)));1);1))+1}

Тут вы поспешили
Поворот
Повар

Ваша формула выдаст 5
а нужно 4

вот вариант
=ПОИСКПОЗ(ЛОЖЬ;(ПСТР(A1&" ";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1&" ")));1)=ПСТР(A2&" ";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A2&" ")));1));0)

формула массива (ввод через CTRL+SHIFT+ENTER)
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35029579
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прикол! Во первых, ты действительно прав, что моя формула выдаёт не то... А во вторых, когда сделал свой вариант и потом взглянул на твой - аж засмеялся - практически одно и то же :-)
Вот он:
{=ПОИСКПОЗ(ЛОЖЬ;ЕСЛИ(ПСТР(A1&" ";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A1);ДЛСТР(A2))));1)=ПСТР(A2&".";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A2);ДЛСТР(A1))));1);1);)}
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35029610
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жалко, что тут нет возможности редактировать сообщения...
Функцию ЕСЛИ() можно, конечно, убрать...
Преимущество моего варианта в том, что он защищён от #Н/Д для случая полного совпадения двух строк либо их отсутствия ;-)
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35029670
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жалко, что тут нет возможности редактировать сообщения...
Функцию ЕСЛИ() можно, конечно, убрать...
Преимущество моего варианта в том, что он защищён от #Н/Д для случая полного совпадения двух строк либо их отсутствия ;-)
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35029836
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikПреимущество моего варианта в том, что он защищён от #Н/Д для случая полного совпадения двух строк либо их отсутствия ;-)

Можно было так записать
=ПОИСКПОЗ(ЛОЖЬ;(ПСТР(A1&" ";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1&" ")));1)=ПСТР(A2&".";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A2&".")));1));0)

Я думал про это, только это всё равно не спасает, только хуже может сделать. например вот такие строки подставте
Повар.
Повар

Выдаст ошибку
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35029942
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikKL, а разве ДВССЫЛ() не летучая... ? Чего ты ушёл от конструкции СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1))) ?Летучая, просто первая пробная версия формулы была летучей и без того, а потом в спешке я забыл почистить финальный вариант.

Я смотрю вы с Deggasad никак не можете уйти от предложенного мной принципа решения :-) Когда я писал его, я исходил исключительно из конкретного примера - времени на поиск универсальности не было.

Может такое решение подойдет:

формула массива (ввод через CTRL+SHIFT+ENTER)
=SI(A1=A2;0;COINCIDIR(FALSO;ESNUMERO(1/(EXTRAE(A1;FILA(INDICE(A:A;1):INDICE(A:A;LARGO(A1)));1)=EXTRAE(A2;FILA(INDICE(A:A;1):INDICE(A:A;LARGO(A2)));1)));0))

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35029944
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон формула вместо русского перевелась на испанский:

=ЕСЛИ(A1=A2;0;ПОИСКПОЗ(ЛОЖЬ;ЕЧИСЛО(1/(ПСТР(A1;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1)));1)=ПСТР(A2;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A2)));1)));0))

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030025
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, KL, как всегда, не перестаёт нас удивлять ;-)
KL (XL)Я смотрю вы с Deggasad никак не можете уйти от предложенного мной принципа решения :-)
Да нет, просто захотелось для себя довести дело до конца.... :-)

Вот мой окончательный вариант :-)
{=ПОИСКПОЗ(ЛОЖЬ;ПСТР(A1&" ";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A1);ДЛСТР(A2))));1)=ПСТР(A2&СИМВОЛ(1);СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A2);ДЛСТР(A1))));1);)}
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030146
Pavel55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OFFTOPIC. А когда на этом сайте сделают возможность редактирования своего сообщения? А то на всех форумах есть, а на этом нет. Многие же пользователи жалуются на это. И Форум будет меньше весить, так подредактировал своё сообщение и всё, а так приходится писать новое.
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030188
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikВот мой окончательный вариант :-)
{=ПОИСКПОЗ(ЛОЖЬ;ПСТР(A1&" ";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A1);ДЛСТР(A2))));1)=ПСТР(A2&СИМВОЛ(1);СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A2);ДЛСТР(A1))));1);)}Думаю, что этот вариант немного не дотягивает до окончательного. Комментарии:

1) попробуй эту формулу в такой ситуации:
[A1] ="мама мыла раму мылом"
[A2] ="мама мыла раму мылом и зубным порошком"

2) для одинаковых текстов формула выдает, что различия начинаются (!?) после последнего (или начиная с несуществующего) знака.

3) если сможешь заставить работать свое решение, то выигрыш в скорости по сравнению с моим будет коллосальным - почти в 10 раз в Excel 2007.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030240
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если так:
{=ПОИСКПОЗ(ЛОЖЬ;ПСТР(A1&СИМВОЛ(1);СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A1);ДЛСТР(A2))));1)=ПСТР(A2&СИМВОЛ(2);СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A2);ДЛСТР(A1))));1);)}

А в твоём варианте я бы изменил ЕЧИСЛО(1/(....)) на ЕЧИСЛО(-(....)). Вот тебе и выигрыш в 10 раз ;-)
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030249
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) @NikВот мой окончательный вариант :-)
{=ПОИСКПОЗ(ЛОЖЬ;ПСТР(A1&" ";СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A1);ДЛСТР(A2))));1)=ПСТР(A2&СИМВОЛ(1);СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A2);ДЛСТР(A1))));1);)}3) если сможешь заставить работать свое решение, то выигрыш в скорости по сравнению с моим будет коллосальным - почти в 10 раз в Excel 2007.
Похоже, вот длинная, но чертовски быстрая (быстрее твоей) альтернатива:

=ЕСЛИ(A1=A2;0;ЕСЛИ(ЛЕВСИМВ(A1;МИН(ДЛСТР(A1);ДЛСТР(A2)))=ЛЕВСИМВ(A2;МИН(ДЛСТР(A1);ДЛСТР(A2)));МИН(ДЛСТР(A1);ДЛСТР(A2))+1;ПОИСКПОЗ(ЛОЖЬ;ПСТР(A1;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;МИН(ДЛСТР(A1);ДЛСТР(A2))));1)=ПСТР(A2;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;МИН(ДЛСТР(A2);ДЛСТР(A1))));1);)))

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030277
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikА если так:
{=ПОИСКПОЗ(ЛОЖЬ;ПСТР(A1&СИМВОЛ(1);СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A1);ДЛСТР(A2))));1)=ПСТР(A2&СИМВОЛ(2);СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;1+МИН(ДЛСТР(A2);ДЛСТР(A1))));1);)}Пункт 2 остается в силе.
Моя последняя формула в 4 раза быстрее

@NikА в твоём варианте я бы изменил ЕЧИСЛО(1/(....)) на ЕЧИСЛО(-(....)). Вот тебе и выигрыш в 10 раз ;-)Это на скорость расчета практически не повлияет, и тем более в 10 раз ;-)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030338
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) @NikА в твоём варианте я бы изменил ЕЧИСЛО(1/(....)) на ЕЧИСЛО(-(....)). Вот тебе и выигрыш в 10 раз ;-)Это на скорость расчета практически не повлияет, и тем более в 10 раз ;-)Самого главного то и не сказал:

весь смысл решения через 1/() в том, чтобы привести значения ЛОЖЬ и #NA т.с. к "общему знаменателю". При делении 1 на 0 (ЛОЖЬ) или на ошибку (#NA) результатом будет ошибка (#DIV0 или #NA), т.е. не число. В случае деления на 1 (ИСТИНА) результатом будет число. Что и требовалось получить. Если же использовать -(), то значение ЛОЖЬ тоже даст число - 0, а это приведет к ошибке в результате например здесь:

[A1]="мама мыла рам к у мылом"
[A2]="мама мыла раму мылом и зубным порошком"


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030372
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок. А будет ли выигрыш в быстродействии в 4 раза для случая
[A1]="мама мыла рам к у мылом"
[A2]="мама мыла раму мылом и зубным порошком"

Мне кажется, что нет :-)
И ещё вопрос: почему на скорость практически не сказывается замена 1/() на -()
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030381
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(я понял, что менять 1/() на -() нельзя). Просто интересно относительно скорости вычисления...
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030450
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikОк. А будет ли выигрыш в быстродействии в 4 раза для случая
[A1]="мама мыла рам к у мылом"
[A2]="мама мыла раму мылом и зубным порошком"

Мне кажется, что нет :-)Четко подмечено! Тут я, сам того не ведая, немного схитрил - использовал для тестирования лишь частный случай :-) Скорость в этом случае та же, но... это правда не отменяет потенциальной экономии в скорости в частном случае полного совпадения более короткого текста с началом более длинного.

@NikИ ещё вопрос: почему на скорость практически не сказывается замена 1/() на -()Ну потому что при сравнении решений, где соотношение скоростей 1:10, те 9% которые выигрываются, на мой взгляд, - ничтожны. А почему ты думал, что выигрыш будет больше? Я кажется всегда говорил, что, по моим наблюдениям, разница между --() и др. способами превращения логических значений в числа порядка 15% быстрее в Excel2003 и 10% в Excel2007. Может где-то "вкралась очепятка"?

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030485
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да нет... просто мне так показалось, что должно быть больше, чем 10%. Привычка сравнения на старых машинах.
Я вообще давно хотел спросить как ты произвожишь замеры скорости вычисления формул ? ;-)
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030534
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikЯ вообще давно хотел спросить как ты произвожишь замеры скорости вычисления формул ? ;-)

Вот тут надстройка RangeCalc , только помни, что замеры надо обязательно производить в режиме ручного пересчета:

http://www.decisionmodels.com/downloads.htm

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030591
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое.... посмотрю.... ;-)
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030599
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое.... посмотрю.... ;-)
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35030818
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я то думал грешным делом, что это я любитель позагоняться!!!
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35031052
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadА я то думал грешным делом, что это я любитель позагоняться!!!
А что такое "позагоняться"?

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35032174
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) DeggasadА я то думал грешным делом, что это я любитель позагоняться!!!
А что такое "позагоняться"?

KL
[MVP - Microsoft Excel]

Это комплимент такой! То есть хорошие вы человеки!
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35032180
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И себя похвалил заодно
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35032697
@Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да.... интересная надстройка... Только есть небольшая проблемка - рассчётное время выполнения формул плавает :-) У меня наши две формулы не различаются по быстродействию (на офф. ХР). Вернее, их время выполнения получалось то 0,03 то 0,05 мс. Сделал больше замеров - появились цифры 0,04; 0,06 и аж 0,08 мс. Чаще всего выдавался результат 0,03 мс. Но никак разница в 4 раза заметна не была... Неужели разница в оффисе настолько сказывается ?
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35033135
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikДа.... интересная надстройка... Только есть небольшая проблемка - рассчётное время выполнения формул плавает :-) У меня наши две формулы не различаются по быстродействию (на офф. ХР). Вернее, их время выполнения получалось то 0,03 то 0,05 мс. Сделал больше замеров - появились цифры 0,04; 0,06 и аж 0,08 мс. Чаще всего выдавался результат 0,03 мс. Но никак разница в 4 раза заметна не была... Неужели разница в оффисе настолько сказывается ?
Хтож на таких мелких примерах сравнивает. тут будет большая погрешность. Нужно массив поболе чтобы так этак на 1-2 секунды, тогда погрешность будет меньше.


З.ы.: прошу не плеваться, моё сугубо личное мнение.
...
Рейтинг: 0 / 0
С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
    #35033194
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@NikДа.... интересная надстройка... Только есть небольшая проблемка - рассчётное время выполнения формул плавает :-) У меня наши две формулы не различаются по быстродействию (на офф. ХР). Вернее, их время выполнения получалось то 0,03 то 0,05 мс. Сделал больше замеров - появились цифры 0,04; 0,06 и аж 0,08 мс. Чаще всего выдавался результат 0,03 мс. Но никак разница в 4 раза заметна не была... Неужели разница в оффисе настолько сказывается ?
1) Время плавает потому что:
- в твоем компе ничто не стоит на месте, начинаются и заканчиваются разные процессы, которые влияют на доступность памяти и процессора в данный момент.
- версии Office и Windows влияют несомненно
- часто вмешивается экселевский механизм SmartCalculation, который сам решает нужно ли пересчитывать определенные зависимости в каждой конкретной ситуации.
- в данной формуле к тому же все зависит от длинны текста и от того, какая часть ЕСЛИ() выполняется.
- в случае с функциями поиска значений очень влияет размер рангов поиска и тип поиска (точный или приблизительный)
- важно количество формул включенных в промер, чем больше, тем очевидней разница если она есть
- не забывай, что в твоем примере речь идет о ничтожно малых промежутках времени, т.е. разница между первым и последним промером 0.0005 сек.

2) Попробуй следующее
- возьми мой первый пример:
[A1]="мама мыла раму мылом"
[A2]="мама мыла раму мылом и зубным порошком"
- растяни его от [A1] до [A1000]
- в столбце [С1:С1000] введи первую формулу
- в столбце [Е1:Е1000] введи вторую формулу
- отключи автоматический пересчет
- запусти надстройку по 3-5 раз для каждого из диапазонов [С1:С1000] и [Е1:Е1000]
- сравни среднее арифметическое промеров для каждого из диапазонов

теперь поменяй пример в столбце [A1:A1000] на:
[A1]="мама мыла рам к у мылом"
[A2]="мама мыла раму мылом и зубным порошком"
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / С какого символа начинаются различия? (скорее всего, это тоже вопрос со "звездой"...)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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