Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как считать символы в макросах и формулах? - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин  
Мир MS Excel » Работа и общение » Неформальное общение » Как считать символы в макросах и формулах? (Для Мозгового Штурма)
Как считать символы в макросах и формулах?
Serge_007 Дата: Пятница, 25.01.2013, 12:22 | Сообщение № 1
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Внес изменения в правила ветки Мозговой Штурм


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВнес изменения в правила ветки Мозговой Штурм

Автор - Serge_007
Дата добавления - 25.01.2013 в 12:22
MCH Дата: Пятница, 25.01.2013, 12:29 | Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Цитата (Serge_007)
Внес изменения в правила этой ветки


Цитата (Serge_007)
Длинна формул указывается в количестве знаков, без учёта знака "="

Севершенно не согласен, знак нужно вводит с клавиатуры, поэтому его нужно считать
Ну раз в правилах ты так прописал, то буду всегда подписывать, что с учетом "="

Цитата (Serge_007)
Длинна макроса указывается в количестве знаков, без учёта первой Sub Название () и последней End Sub строк кода

Здесь разумнее написать что длина указывается в знаках без учета пробелов, табуляции и переносе строк, а вот Sub ... и End нужно считать


Сообщение отредактировал MCH - Пятница, 25.01.2013, 12:30
 
Ответить
Сообщение
Цитата (Serge_007)
Внес изменения в правила этой ветки


Цитата (Serge_007)
Длинна формул указывается в количестве знаков, без учёта знака "="

Севершенно не согласен, знак нужно вводит с клавиатуры, поэтому его нужно считать
Ну раз в правилах ты так прописал, то буду всегда подписывать, что с учетом "="

Цитата (Serge_007)
Длинна макроса указывается в количестве знаков, без учёта первой Sub Название () и последней End Sub строк кода

Здесь разумнее написать что длина указывается в знаках без учета пробелов, табуляции и переносе строк, а вот Sub ... и End нужно считать

Автор - MCH
Дата добавления - 25.01.2013 в 12:29
_Boroda_ Дата: Пятница, 25.01.2013, 12:33 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Цитата (MCH)
Здесь разумнее написать что длина указывается в знаках без учета пробелов, табуляции и переносе строк, а вот Sub ... и End нужно считать

А какой вообще смысл считать длину макроса в символах?
Название самого макроса, названия переменных, их объявление - это навскидку то, что считать уж точно не нужно.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата (MCH)
Здесь разумнее написать что длина указывается в знаках без учета пробелов, табуляции и переносе строк, а вот Sub ... и End нужно считать

А какой вообще смысл считать длину макроса в символах?
Название самого макроса, названия переменных, их объявление - это навскидку то, что считать уж точно не нужно.

Автор - _Boroda_
Дата добавления - 25.01.2013 в 12:33
Serge_007 Дата: Пятница, 25.01.2013, 12:33 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (_Boroda_)
какой вообще смысл считать длину макроса в символах?

Такой же, как и длинну формул - никакого biggrin

Цитата (_Boroda_)
названия переменных, их объявление...

...можно делать в коде, а можно - в другом модуле, например

Цитата (MCH)
Севершенно не согласен

Мы это уже обсуждали.
{} - для ФМ тоже вводится с клавиатуры

Цитата (MCH)
знак нужно вводит с клавиатуры

Не обязательно. Можно начать формулу со знака "+", тогда "=" с клавиатуры не вводится

Цитата (MCH)
без учета пробелов

Это ещё почему? Давай тогда и в формулах пробелы не считать

Цитата (MCH)
табуляции

Это не понял

Цитата (MCH)
переносе строк

Это уже добавил

Цитата (MCH)
Sub ... и End нужно считать

Возвращаемся с чего начали...
Зачем считать то, что всегда, заведомо, есть в ЛЮБОМ макросе/формуле?!


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (_Boroda_)
какой вообще смысл считать длину макроса в символах?

Такой же, как и длинну формул - никакого biggrin

Цитата (_Boroda_)
названия переменных, их объявление...

...можно делать в коде, а можно - в другом модуле, например

Цитата (MCH)
Севершенно не согласен

Мы это уже обсуждали.
{} - для ФМ тоже вводится с клавиатуры

Цитата (MCH)
знак нужно вводит с клавиатуры

Не обязательно. Можно начать формулу со знака "+", тогда "=" с клавиатуры не вводится

Цитата (MCH)
без учета пробелов

Это ещё почему? Давай тогда и в формулах пробелы не считать

Цитата (MCH)
табуляции

Это не понял

Цитата (MCH)
переносе строк

Это уже добавил

Цитата (MCH)
Sub ... и End нужно считать

Возвращаемся с чего начали...
Зачем считать то, что всегда, заведомо, есть в ЛЮБОМ макросе/формуле?!

Автор - Serge_007
Дата добавления - 25.01.2013 в 12:33
Gustav Дата: Пятница, 25.01.2013, 13:20 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
[offtop]
Давно собираюсь предложить еще один вид "мозгового спорта" - написание однострочных макросов в окне отладки VBE smile

Например, вот такая строка
[vba]
Код
a="123":?a:b="456"&"789":c=a &b:?c
[/vba]

после нажатия Enter напечатает 2 значения:
[vba]
Код
123
123456789
[/vba]

Впрочем, не такие уж они и однострочные - возможно расположение на нескольких строках (до 25):
[vba]
Код
a="123":?a:b="456"& _
"789":c=a & _
b:?c
[/vba]

Эквивалентная обычная процедура:
[vba]
Код
Sub io()
              Dim a, b, c
              a = "123":
              Debug.Print a
              b = "456" & "789"
              c = a & b
              Debug.Print c
End Sub
[/vba]

Возможны, например, циклы:

for i=1 to 100:?i:next

i=0:for each cell in Range("A1:A100"):i=i+1:cell.Value=i:next

i=0:for each c in [A1:A100]:i=i+1:c.value=i:next

И заметьте - ни объявления переменных, ни Sub/End Sub, ни лишнего пробела - совсем как в формулах.
Т.е. пробелы - конечно, по желанию, но на отсутствие некоторых ругается. Например, здесь пробел перед & оказался обязательным: c=a &b


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Пятница, 25.01.2013, 13:47
 
Ответить
Сообщение[offtop]
Давно собираюсь предложить еще один вид "мозгового спорта" - написание однострочных макросов в окне отладки VBE smile

Например, вот такая строка
[vba]
Код
a="123":?a:b="456"&"789":c=a &b:?c
[/vba]

после нажатия Enter напечатает 2 значения:
[vba]
Код
123
123456789
[/vba]

Впрочем, не такие уж они и однострочные - возможно расположение на нескольких строках (до 25):
[vba]
Код
a="123":?a:b="456"& _
"789":c=a & _
b:?c
[/vba]

Эквивалентная обычная процедура:
[vba]
Код
Sub io()
              Dim a, b, c
              a = "123":
              Debug.Print a
              b = "456" & "789"
              c = a & b
              Debug.Print c
End Sub
[/vba]

Возможны, например, циклы:

for i=1 to 100:?i:next

i=0:for each cell in Range("A1:A100"):i=i+1:cell.Value=i:next

i=0:for each c in [A1:A100]:i=i+1:c.value=i:next

И заметьте - ни объявления переменных, ни Sub/End Sub, ни лишнего пробела - совсем как в формулах.
Т.е. пробелы - конечно, по желанию, но на отсутствие некоторых ругается. Например, здесь пробел перед & оказался обязательным: c=a &b

Автор - Gustav
Дата добавления - 25.01.2013 в 13:20
MCH Дата: Пятница, 25.01.2013, 14:44 | Сообщение № 6
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Цитата (_Boroda_)
А какой вообще смысл считать длину макроса в символах?

Сереге виднее
Цитата (Serge_007)
{} - для ФМ тоже вводится с клавиатуры

Я не ввожу эти символы для формул массива, и думаю никто не вводит, поэтому считать не нужно

Цитата (Serge_007)
без учета пробелов
Это ещё почему?

Пробелы (код символа 32) в макросах используются в том числе и для оформления кода - отступы, также как и табуляция (код символа 09).
Один и тотже код может иметь различный размер в зависимости от оформления

Как правило в олимпиадах по программированию учет ведется без лишних символов
Достловно:
"В качестве критерия ранжирования лучших попыток служит размер кода закачиваемой программы. При подсчете размера кода не учитываются пробелы, а так же символы переноса и табуляции."


Сообщение отредактировал MCH - Пятница, 25.01.2013, 14:46
 
Ответить
Сообщение
Цитата (_Boroda_)
А какой вообще смысл считать длину макроса в символах?

Сереге виднее
Цитата (Serge_007)
{} - для ФМ тоже вводится с клавиатуры

Я не ввожу эти символы для формул массива, и думаю никто не вводит, поэтому считать не нужно

Цитата (Serge_007)
без учета пробелов
Это ещё почему?

Пробелы (код символа 32) в макросах используются в том числе и для оформления кода - отступы, также как и табуляция (код символа 09).
Один и тотже код может иметь различный размер в зависимости от оформления

Как правило в олимпиадах по программированию учет ведется без лишних символов
Достловно:
"В качестве критерия ранжирования лучших попыток служит размер кода закачиваемой программы. При подсчете размера кода не учитываются пробелы, а так же символы переноса и табуляции."

Автор - MCH
Дата добавления - 25.01.2013 в 14:44
RAN Дата: Пятница, 25.01.2013, 18:46 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
ГЫЫЫЫЫЫЫЫЫ! biggrin

Где строк меньше?

[vba]
Код
Sub qq()
d = 1
For i = 1 To 5
a = d + 1
b = a + 2
Next
End Sub
[/vba]

[vba]
Код
Sub qqq(): d = 1: For i = 1 To 5: a = d + 1: b = a + 2: Next: End Sub
[/vba]

Одно и то-же, только в две строчки работает быстрее

[vba]
Код
If a And b Then

If a Then
If b Then
[/vba]

[vba]
Код
If a Or b Then

If a Then
ElseIf b Then
[/vba]

Цитата (Serge_007)
Длинна макроса указывается в количестве знаков


Где знаков меньше?
[vba]
Код

Set rRange = Range("A1")
Set r = [A1]
[/vba]

Цитата (Serge_007)
а так же без знаков переноса строк " _"


Сколько знаков?

[vba]
Код
On Error GoTo err_________________
[/vba]



Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 25.01.2013, 19:18
 
Ответить
СообщениеГЫЫЫЫЫЫЫЫЫ! biggrin

Где строк меньше?

[vba]
Код
Sub qq()
d = 1
For i = 1 To 5
a = d + 1
b = a + 2
Next
End Sub
[/vba]

[vba]
Код
Sub qqq(): d = 1: For i = 1 To 5: a = d + 1: b = a + 2: Next: End Sub
[/vba]

Одно и то-же, только в две строчки работает быстрее

[vba]
Код
If a And b Then

If a Then
If b Then
[/vba]

[vba]
Код
If a Or b Then

If a Then
ElseIf b Then
[/vba]

Цитата (Serge_007)
Длинна макроса указывается в количестве знаков


Где знаков меньше?
[vba]
Код

Set rRange = Range("A1")
Set r = [A1]
[/vba]

Цитата (Serge_007)
а так же без знаков переноса строк " _"


Сколько знаков?

[vba]
Код
On Error GoTo err_________________
[/vba]


Автор - RAN
Дата добавления - 25.01.2013 в 18:46
ikki Дата: Суббота, 26.01.2013, 00:16 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (Gustav)
еще один вид "мозгового спорта"

а примера "спортивного задания" нету? blink
мне вот пока одно в голову пришло.
на 3 секунды, наверное. wacko

"написать минимально короткий код, в результате которого в ячейках A1:A9 текущего листа отображаются степени двойки (от 2 до 512)"
у меня 25 символов получилось.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (Gustav)
еще один вид "мозгового спорта"

а примера "спортивного задания" нету? blink
мне вот пока одно в голову пришло.
на 3 секунды, наверное. wacko

"написать минимально короткий код, в результате которого в ячейках A1:A9 текущего листа отображаются степени двойки (от 2 до 512)"
у меня 25 символов получилось.

Автор - ikki
Дата добавления - 26.01.2013 в 00:16
_Boroda_ Дата: Суббота, 26.01.2013, 15:07 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Цитата (ikki)
написать минимально короткий код, в результате которого в ячейках A1:A9 текущего листа отображаются степени двойки (от 2 до 512)" у меня 25 символов получилось.

Это включая SUB и END SUB?
У меня с ними получилось 34, без них - 20 (если без пробелов, которые VBA ставит автоматом, то 18).


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата (ikki)
написать минимально короткий код, в результате которого в ячейках A1:A9 текущего листа отображаются степени двойки (от 2 до 512)" у меня 25 символов получилось.

Это включая SUB и END SUB?
У меня с ними получилось 34, без них - 20 (если без пробелов, которые VBA ставит автоматом, то 18).

Автор - _Boroda_
Дата добавления - 26.01.2013 в 15:07
ikki Дата: Суббота, 26.01.2013, 17:25 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (_Boroda_)
Это включая SUB и END SUB?

нет, это в окне Immediate
там sub и end sub не нужны.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (_Boroda_)
Это включая SUB и END SUB?

нет, это в окне Immediate
там sub и end sub не нужны.

Автор - ikki
Дата добавления - 26.01.2013 в 17:25
_Boroda_ Дата: Суббота, 26.01.2013, 17:35 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А, тогда 18


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА, тогда 18

Автор - _Boroda_
Дата добавления - 26.01.2013 в 17:35
ikki Дата: Суббота, 26.01.2013, 17:43 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
чего-то я... wacko усложнил сначала.
тоже 18


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениечего-то я... wacko усложнил сначала.
тоже 18

Автор - ikki
Дата добавления - 26.01.2013 в 17:43
Gustav Дата: Воскресенье, 27.01.2013, 12:53 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
тоже нашёл 18 smile

Ходатайствую перед админами о возвращении сообщений №5 (мой "оффтоп"), №8 (задача ikki) и последующих в отдельную новую тему "Мозгового штурма", раз уж новый "спорт" пытается зародиться...


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщениетоже нашёл 18 smile

Ходатайствую перед админами о возвращении сообщений №5 (мой "оффтоп"), №8 (задача ikki) и последующих в отдельную новую тему "Мозгового штурма", раз уж новый "спорт" пытается зародиться...

Автор - Gustav
Дата добавления - 27.01.2013 в 12:53
ikki Дата: Воскресенье, 27.01.2013, 14:08 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
2 Gustav: админы уже пытались наехать на меня за размещение своего поста "не там", но я отмазался - сослался на примитивность задачки tongue
какой-нибудь другой нет на примете?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение2 Gustav: админы уже пытались наехать на меня за размещение своего поста "не там", но я отмазался - сослался на примитивность задачки tongue
какой-нибудь другой нет на примете?

Автор - ikki
Дата добавления - 27.01.2013 в 14:08
Gustav Дата: Воскресенье, 27.01.2013, 14:45 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Цитата (ikki)
сослался на примитивность задачки
гы! хорошенький примитив, если даже сам автор не сразу вышел на 18...
Цитата (ikki)
какой-нибудь другой нет на примете?
готовлю... smile


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата (ikki)
сослался на примитивность задачки
гы! хорошенький примитив, если даже сам автор не сразу вышел на 18...
Цитата (ikki)
какой-нибудь другой нет на примете?
готовлю... smile

Автор - Gustav
Дата добавления - 27.01.2013 в 14:45
Serge_007 Дата: Среда, 04.09.2013, 21:15 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
сколько не пытался, без "=" в "Источник" в "Проверке данных/Список" не получается ввести формулу :)
Без "=" - получается текстовая константа
А в ячейке?

Миш, давай закроем эту тему. Я знаю - ты упёртый, покруче меня :)
Но к аргументам прислушаться можешь :)

В Европе (не во всей) и США скорость считают как мили в час, у нас как километры в час. Кто прав? Да никто! Просто так договорились в своё время
Так и у нас. Я не считаю аргументом то, что "=" вводится с клавиатуры (можно нажать + и тогда равно с клавиатуры уже не вводится), равно как и {}, которые тоже вводятся нажатим Ctrl+Shift+Enter с клавиатуры, но в общей длинне формулы не учитываются. Так же аргумент "Так считали в Избушке" - это не аргумент

Поэтому, ИМХО, единственно правильное решение - считать только значимые знаки, т.е. знаки самой формулы, но никак не служебные

Надеюсь что я найду твоё понимание, ну или на крайняк услышу разумные (неоспоримые) доводы против

Спасибо


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
сколько не пытался, без "=" в "Источник" в "Проверке данных/Список" не получается ввести формулу :)
Без "=" - получается текстовая константа
А в ячейке?

Миш, давай закроем эту тему. Я знаю - ты упёртый, покруче меня :)
Но к аргументам прислушаться можешь :)

В Европе (не во всей) и США скорость считают как мили в час, у нас как километры в час. Кто прав? Да никто! Просто так договорились в своё время
Так и у нас. Я не считаю аргументом то, что "=" вводится с клавиатуры (можно нажать + и тогда равно с клавиатуры уже не вводится), равно как и {}, которые тоже вводятся нажатим Ctrl+Shift+Enter с клавиатуры, но в общей длинне формулы не учитываются. Так же аргумент "Так считали в Избушке" - это не аргумент

Поэтому, ИМХО, единственно правильное решение - считать только значимые знаки, т.е. знаки самой формулы, но никак не служебные

Надеюсь что я найду твоё понимание, ну или на крайняк услышу разумные (неоспоримые) доводы против

Спасибо

Автор - Serge_007
Дата добавления - 04.09.2013 в 21:15
MCH Дата: Четверг, 05.09.2013, 09:00 | Сообщение № 17
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Сергей, я многократно озвучивал свою позицию, но ты не хочешь ее услышать
Повторюсь:
1. Невозможно ввести формулу без ввода знака "=", даже если использовать мастер функций или автосумму, то Excel сам добавляет этот знак в строку формул (именно знак!). Без данного знака получается текстовая константа, а не формула. Даже если вводится формула в ячейку через VBA, то ее нужно вводить Range("A1").Formula = "=SUM(B1:D1)", если знак "=" не указывать, то в ячейке будет текст.
2. При копировании всех знаков из строки формул, текст формулы содержит знак "="
3. Если получать значение формулы из свойств ячейки любыми другими путями, то текст формулы сожержит знак "="
Range("A1").Formula
=Ф.ТЕКСТ(A1)
=ПОЛУЧИТЬ.ЯЧЕЙКУ(6;A1)
=ПОЛУЧИТЬ.ФОРМУЛУ(A1)
4. Почему все поголовно на форуме, в т.ч. и ты, публикуя свои формулы, указывают их со знаком "="?

Фигурные скобки в формулах массива не являются символами, их не нужно вводить (как символы), при копировании текста формулы из ячейки или получения из свойств ячейки данные символы не копируются, соответственно при подсчете символов их не нужно учитывать.

Цитата (Serge_007, Среда, 04.09.2013, 21:15 # 17)
В Европе (не во всей) и США скорость считают как мили в час, у нас как километры в час. Кто прав?

Не совсем корректный пример, т.к. в разных странах применяются различные системы счисления
Кроме того в Европе применяется метрическая система.
из Википедии:
Цитата
В настоящее время метрическая система официально принята во всех государствах мира, кроме США, Либерии и Мьянмы (Бирма).

Данный пример можно было привести в том случае, если одни измеряют длину текста в байтах, другие в символах юникода, но на сам подход, какие знаки считаются, данный пример не применим.

Ты же хочешь подменить абсолютную скорость на относительную: на сколько автомобиль движется быстрее пешехода, идущего со скоростью 5км/час, даже если автомобиль движется со скоростью 60 км/час, то относительно пешехода его скорость - 55 км/час. И другие автомобили движутся относительно пешехода также на 5км/ч меньше (пешеход ведь все равно идет, так давайте из скоростей автомобилей уберем его скорость). На мой взгляд это не верно.

Но т.к. ты вынес в правила относительную методику расчета, без учета "=", то в своих ответах я буду указывать, что размер подсчитан с "="
(ну или забань меня за то, что я не соблюдаю правила)

ЗЫ: вероятно, данное обсуждение лучше вынести в отдельную тему


Сообщение отредактировал MCH - Четверг, 05.09.2013, 09:03
 
Ответить
СообщениеСергей, я многократно озвучивал свою позицию, но ты не хочешь ее услышать
Повторюсь:
1. Невозможно ввести формулу без ввода знака "=", даже если использовать мастер функций или автосумму, то Excel сам добавляет этот знак в строку формул (именно знак!). Без данного знака получается текстовая константа, а не формула. Даже если вводится формула в ячейку через VBA, то ее нужно вводить Range("A1").Formula = "=SUM(B1:D1)", если знак "=" не указывать, то в ячейке будет текст.
2. При копировании всех знаков из строки формул, текст формулы содержит знак "="
3. Если получать значение формулы из свойств ячейки любыми другими путями, то текст формулы сожержит знак "="
Range("A1").Formula
=Ф.ТЕКСТ(A1)
=ПОЛУЧИТЬ.ЯЧЕЙКУ(6;A1)
=ПОЛУЧИТЬ.ФОРМУЛУ(A1)
4. Почему все поголовно на форуме, в т.ч. и ты, публикуя свои формулы, указывают их со знаком "="?

Фигурные скобки в формулах массива не являются символами, их не нужно вводить (как символы), при копировании текста формулы из ячейки или получения из свойств ячейки данные символы не копируются, соответственно при подсчете символов их не нужно учитывать.

Цитата (Serge_007, Среда, 04.09.2013, 21:15 # 17)
В Европе (не во всей) и США скорость считают как мили в час, у нас как километры в час. Кто прав?

Не совсем корректный пример, т.к. в разных странах применяются различные системы счисления
Кроме того в Европе применяется метрическая система.
из Википедии:
Цитата
В настоящее время метрическая система официально принята во всех государствах мира, кроме США, Либерии и Мьянмы (Бирма).

Данный пример можно было привести в том случае, если одни измеряют длину текста в байтах, другие в символах юникода, но на сам подход, какие знаки считаются, данный пример не применим.

Ты же хочешь подменить абсолютную скорость на относительную: на сколько автомобиль движется быстрее пешехода, идущего со скоростью 5км/час, даже если автомобиль движется со скоростью 60 км/час, то относительно пешехода его скорость - 55 км/час. И другие автомобили движутся относительно пешехода также на 5км/ч меньше (пешеход ведь все равно идет, так давайте из скоростей автомобилей уберем его скорость). На мой взгляд это не верно.

Но т.к. ты вынес в правила относительную методику расчета, без учета "=", то в своих ответах я буду указывать, что размер подсчитан с "="
(ну или забань меня за то, что я не соблюдаю правила)

ЗЫ: вероятно, данное обсуждение лучше вынести в отдельную тему

Автор - MCH
Дата добавления - 05.09.2013 в 09:00
Serge_007 Дата: Четверг, 05.09.2013, 10:24 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Невозможно ввести формулу без ввода знака "="
Ну и что? Какое отношение это имеет к длине формулы?

2. При копировании всех знаков из строки формул, текст формулы содержит знак "="
3. Если получать значение формулы из свойств ячейки любыми другими путями, то текст формулы сожержит знак "="
И? Ему и положено его содержать. Повторюсь: Какое отношение это имеет к длине формулы? Знак "=" всегда есть в любой формуле. ЗАЧЕМ ЕГО СЧИТИТАТЬ-ТО?

Почему все поголовно на форуме, в т.ч. и ты, публикуя свои формулы, указывают их со знаком "="?
Для того что бы пользователь мог скопировать формулу с форума и вставить в свой файл. Опять-таки к длине формулы это не имеет никакого отношения. К тому же, в "Мозговом штурме" мы не выкладываем формулы до момента "вскрытия", а просто пишем кол-во знаков

в разных странах применяются различные системы счисления
Если тебе так будет удобнее понять, то представь что "Избушка" - это одна страна, а "Мозговой штурм" - это другая страна. В "Избушке" приняты мили, а в "Мозговом штурме" - километры. Ну или наоборот - не принципиально :)

другие автомобили движутся относительно пешехода также на 5км/ч меньше
Считаю твой пример некорректным, потому как в нем подразумевается наличие пешехода ВСЕГДА, и если пешеход есть всегда, то то как считать скорость (относительно дороги или пешехода) - это уже вопрос определения методики подсчета


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Невозможно ввести формулу без ввода знака "="
Ну и что? Какое отношение это имеет к длине формулы?

2. При копировании всех знаков из строки формул, текст формулы содержит знак "="
3. Если получать значение формулы из свойств ячейки любыми другими путями, то текст формулы сожержит знак "="
И? Ему и положено его содержать. Повторюсь: Какое отношение это имеет к длине формулы? Знак "=" всегда есть в любой формуле. ЗАЧЕМ ЕГО СЧИТИТАТЬ-ТО?

Почему все поголовно на форуме, в т.ч. и ты, публикуя свои формулы, указывают их со знаком "="?
Для того что бы пользователь мог скопировать формулу с форума и вставить в свой файл. Опять-таки к длине формулы это не имеет никакого отношения. К тому же, в "Мозговом штурме" мы не выкладываем формулы до момента "вскрытия", а просто пишем кол-во знаков

в разных странах применяются различные системы счисления
Если тебе так будет удобнее понять, то представь что "Избушка" - это одна страна, а "Мозговой штурм" - это другая страна. В "Избушке" приняты мили, а в "Мозговом штурме" - километры. Ну или наоборот - не принципиально :)

другие автомобили движутся относительно пешехода также на 5км/ч меньше
Считаю твой пример некорректным, потому как в нем подразумевается наличие пешехода ВСЕГДА, и если пешеход есть всегда, то то как считать скорость (относительно дороги или пешехода) - это уже вопрос определения методики подсчета

Автор - Serge_007
Дата добавления - 05.09.2013 в 10:24
MCH Дата: Четверг, 05.09.2013, 11:39 | Сообщение № 19
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Мое мнение, "=" - это часть формулы, поэтому я его и считаю
Это не формула
Код
СУММ(A1:A2)

Это формула
Код
=СУММ(A1:A2)

Цитата (Serge_007, Четверг, 05.09.2013, 10:24 # 18)
Если тебе так будет удобнее понять, то представь что "Избушка" - это одна страна, а "Мозговой штурм" - это другая страна. В "Избушке" приняты мили, а в "Мозговом штурме" - километры.

В своем посте я ни слова не говорил про "Избушку". К тому же система счисления и методика подсчета это разные вещи.

Ну хочешь ты считать относительные величины - ну считай, я же не против, я буду считать в абсолютных величинах
С твоим подходом можно не считать в макросах строки Sub и End Sub (они же есть во всех макросах), в формулах ссумирования не считать функцию СУММ и скобки (они же есть во всех формулах суммирования, где используется СУММ) и т.п.


Сообщение отредактировал MCH - Четверг, 05.09.2013, 11:40
 
Ответить
СообщениеМое мнение, "=" - это часть формулы, поэтому я его и считаю
Это не формула
Код
СУММ(A1:A2)

Это формула
Код
=СУММ(A1:A2)

Цитата (Serge_007, Четверг, 05.09.2013, 10:24 # 18)
Если тебе так будет удобнее понять, то представь что "Избушка" - это одна страна, а "Мозговой штурм" - это другая страна. В "Избушке" приняты мили, а в "Мозговом штурме" - километры.

В своем посте я ни слова не говорил про "Избушку". К тому же система счисления и методика подсчета это разные вещи.

Ну хочешь ты считать относительные величины - ну считай, я же не против, я буду считать в абсолютных величинах
С твоим подходом можно не считать в макросах строки Sub и End Sub (они же есть во всех макросах), в формулах ссумирования не считать функцию СУММ и скобки (они же есть во всех формулах суммирования, где используется СУММ) и т.п.

Автор - MCH
Дата добавления - 05.09.2013 в 11:39
Serge_007 Дата: Четверг, 05.09.2013, 11:47 | Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
"=" - это часть формулы
которая есть в любой формуле, ничего в ней не делает (это просто признак формулы) и которая в "Мозговом штурме" не нужна

В своем посте я ни слова не говорил про "Избушку"
На неё ранее ссылались

С твоим подходом можно не считать в макросах строки Sub и End Sub
Именно так. Это тоже бессмысленно
в окне Immediate sub и end sub не нужны


в формулах ссумирования не считать функцию СУММ
А это уже перебор. Задача ведь может решаться и не через суммирование
и скобки
Формула может не содержать функций: А1+В1


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
"=" - это часть формулы
которая есть в любой формуле, ничего в ней не делает (это просто признак формулы) и которая в "Мозговом штурме" не нужна

В своем посте я ни слова не говорил про "Избушку"
На неё ранее ссылались

С твоим подходом можно не считать в макросах строки Sub и End Sub
Именно так. Это тоже бессмысленно
в окне Immediate sub и end sub не нужны


в формулах ссумирования не считать функцию СУММ
А это уже перебор. Задача ведь может решаться и не через суммирование
и скобки
Формула может не содержать функций: А1+В1

Автор - Serge_007
Дата добавления - 05.09.2013 в 11:47
Мир MS Excel » Работа и общение » Неформальное общение » Как считать символы в макросах и формулах? (Для Мозгового Штурма)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!