Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сцепить значения ячеек

1.3K
29 апреля 2003 года
IKor
116 / / 04.12.2002
Господа!
Задача сцепить между собой значения (аля A1&B1&C1&...&F1) наперед неизвестного количества ячеек (непрерывного диапазона!). Стандартная функция СЦЕПИТЬ не работает с диапазоном ячеек и желает воспринимать только строки (или ссылки на них).
Есть ли другие пути кроме написания собственной функции (элементарной!)?
Да, в моем частном случае в ячейках хранятся числовые значения.
За ранее спасибо!
2.2K
30 апреля 2003 года
USA-Lesh
50 / / 02.04.2003
Если непрерывный диапазон, верхний предел, известен, почему-бы не сделать цепочку из элементарных команд с двумя аргументами (если аргументов более 30), или устанавливать пустое значение в нужных ячейках, а в функции СЦЕПИТЬ прописать весь максимальный диапазон.
459
30 апреля 2003 года
gacol
273 / / 12.02.2003
Цитата:
Originally posted by IKor
Господа!
Задача сцепить между собой значения (аля A1&B1&C1&...&F1) наперед неизвестного количества ячеек (непрерывного диапазона!). Стандартная функция СЦЕПИТЬ не работает с диапазоном ячеек и желает воспринимать только строки (или ссылки на них).
Есть ли другие пути кроме написания собственной функции (элементарной!)?
Да, в моем частном случае в ячейках хранятся числовые значения.
За ранее спасибо!



Без VBA у меня только такой вариант
пишешь в В2 =СЦЕПИТЬ(А2;B1) и копируешь на всю 2-строку до F2. После чего в F2 получается полная сцепка.

1.3K
30 апреля 2003 года
IKor
116 / / 04.12.2002
Господа!
Спасибо за идеи.
Видимо, придется воспользоваться первой, т.к. нет возможности для большого количества ячеек плодить временные значения.
Однако, мне не очень понятна идея "цепочки элементарных" команд. Пожалуйста, поясни на простом примере.
В моем случае необходимо для каждой ячейки из некоторого массива данных (например, G10:L20 записать функцию относиттельно соответствующих ячеек массива A10:F20).
Эта функция (в зависимости от заданных условий) должна объединять от одной до пяти смежных ячеек.
Конечно, в принципе не сложно написать функцию вида:
=СЦЕПИТЬ(ЕСЛИ(Усл1;A10;"");ЕСЛИ(Усл2;B10;"");...ЕСЛИ(Усл5;E10;""))
или:
=СЦЕПИТЬ(ЕСЛИ(Усл1;СМЕЩ(A10;0;0);"");ЕСЛИ(Усл2;СМЕЩ(A10;0;1);"");...ЕСЛИ(Усл5;СМЕЩ(A10;0;4);""))
Пока это все, что мне приходит на ум...
267
02 мая 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by IKor
Господа!
Спасибо за идеи.
Видимо, придется воспользоваться первой, т.к. нет возможности для большого количества ячеек плодить временные значения.
Однако, мне не очень понятна идея "цепочки элементарных" команд. Пожалуйста, поясни на простом примере.
В моем случае необходимо для каждой ячейки из некоторого массива данных (например, G10:L20 записать функцию относиттельно соответствующих ячеек массива A10:F20).
Эта функция (в зависимости от заданных условий) должна объединять от одной до пяти смежных ячеек.
Конечно, в принципе не сложно написать функцию вида:
=СЦЕПИТЬ(ЕСЛИ(Усл1;A10;"");ЕСЛИ(Усл2;B10;"");...ЕСЛИ(Усл5;E10;""))
или:
=СЦЕПИТЬ(ЕСЛИ(Усл1;СМЕЩ(A10;0;0);"");ЕСЛИ(Усл2;СМЕЩ(A10;0;1);"");...ЕСЛИ(Усл5;СМЕЩ(A10;0;4);""))
Пока это все, что мне приходит на ум...



А чем тебе не нравится вариант со своей функцией? Он будет простым в использовании и работать будет быстрей гораздо.

1.3K
02 мая 2003 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by Cutty Sark


А чем тебе не нравится вариант со своей функцией? Он будет простым в использовании и работать будет быстрей гораздо.



Мне кажется, что если еще чуть-чуть упростить функцию, то ее можно сделать более универсальной.
Однако, пока я не вижу такого пути - может быть, кому-то он известен...

267
02 мая 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by IKor


Мне кажется, что если еще чуть-чуть упростить функцию, то ее можно сделать более универсальной.
Однако, пока я не вижу такого пути - может быть, кому-то он известен...



Давай мы сейчас все тебе напишем, только сформулируй задачу почётче. ;)

459
03 мая 2003 года
gacol
273 / / 12.02.2003
Цитата:
Originally posted by Cutty Sark


Давай мы сейчас все тебе напишем, только сформулируй задачу почётче. ;)




Вот посылаю для затравки файл <сцепить_ячейки.exe>

2.2K
05 мая 2003 года
USA-Lesh
50 / / 02.04.2003
Держи пример. Может что-то такое тебе надо. Если ячейка пуста, на результате это не отображается.
1.3K
05 мая 2003 года
IKor
116 / / 04.12.2002
Господа!
Всем огромное спасибо за участие.
Я решил проблему (конечно, без макросов она выглядит грубовато - но работает же)
Если кому-то интересно, то можете посмотреть на эту функцию во вложенном файле.
267
06 мая 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by IKor
Господа!
Всем огромное спасибо за участие.
Я решил проблему (конечно, без макросов она выглядит грубовато - но работает же)
Если кому-то интересно, то можете посмотреть на эту функцию во вложенном файле.



Ну ты, блин, накрутил... :o
Совершенно непонятно, что считается в этих ячейках. Черный ящик какой-то...

Твои ячейки зависят всего от пяти разных ячеек, и при этом там формула аж на четыре строчки. По-моему, однозначно надо в ВБА писать. А то потом, когда ты захочешь через месяцок подкорректировать чего-нибудь, сам разобраться не сможешь. А в ВБА как хорошо - тут тебе и комментарии, тут тебе и прозрачная логика. Я тебе советую презреть страхи и написать простую функцию. :)

1.3K
06 мая 2003 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by Cutty Sark


Ну ты, блин, накрутил... :o
Совершенно непонятно, что считается в этих ячейках. Черный ящик какой-то...

... Я тебе советую презреть страхи и написать простую функцию. :)


Дело к тому идет!
Плохо только, что для того, чтобы написать функцию нужно подумать самому, спросить других, еще подумать - и уже готово - на все про все - день, максимум два (это я загнул, наверное).
А для того, чтобы мне самому написать подобную функцию в VBA нужно времени ... даже не знаю с какой стороны подойти (может быть кто-нибудь книжку толковую посоветует, а то я в свое время читал "Самоучитель VBA" Гарнаева - помогло, но не очень).
Давно уже самого тянет разобраться с ним [VBA], да все времени жалко: то работа припрет, то недосуг. В общем, тmма.
К стати, поздравляю всех с прошедшими Майскими праздниками, и с наступающим Днем Победы! Удачи и успеха!

459
07 мая 2003 года
gacol
273 / / 12.02.2003
Цитата:
Originally posted by IKor

Дело к тому идет!
Плохо только, что для того, чтобы написать функцию нужно подумать самому, спросить других, еще подумать - и уже готово - на все про все - день, максимум два (это я загнул, наверное).
А для того, чтобы мне самому написать подобную функцию в VBA нужно времени ... даже не знаю с какой стороны подойти (может быть кто-нибудь книжку толковую посоветует, а то я в свое время читал "Самоучитель VBA" Гарнаева - помогло, но не очень).
Давно уже самого тянет разобраться с ним [VBA], да все времени жалко: то работа припрет, то недосуг. В общем, тmма.
К стати, поздравляю всех с прошедшими Майскими праздниками, и с наступающим Днем Победы! Удачи и успеха!




Спасибо за поздравления, а осваивать VBA, по-моему, лучше на конкретных небольших примерах. Вот твой пример, который в файле сцепить_ячейки.xls занимает всего три оператора, чем не понятеН. Спрашивай!
Еще мне очень помогает анализ записанных макросов - избавляет от запоминания кучи функций.

267
07 мая 2003 года
Cutty Sark
1.2K / / 17.10.2002
IKor, сформулируй задачу, мы ее тебе в лучшем виде напишем, а пока она будет работать на благо Родины, ты в ней разберешься.

А о книжках - я учился не по книжкам, но в какой-то момент мне попалась одна отличная книжка по ВБА97, очень толково написанная (ненавижу стиль книжек "для чайников": нажмите вон ту пимпочку в правом углу. Заметили, что-то моргнуло? Это мы так вставили на форму переключатель...). Она, что приятно, была написана нашими ребятами. Я постараюсь вспомнить авторов и сообщить.
267
07 мая 2003 года
Cutty Sark
1.2K / / 17.10.2002
Спасибо Яндексу, все вспомнилось.

Вот книга, о которой я говорил выше
В. А. Биллиг, М.И. Дехтярь “ VBA и Office 97. Офисное программирование”. 1998 г. Изд. “Русская Редакция

Обнаружилось существование и такой книги:
В. А. Биллиг “ VBA в Office 2000. Офисное программирование” 1999 г. Изд. “Русская Редакция”
О ней, правда, ничего сказать не могу, но смею надеяться, что она не хуже первой.
1.3K
07 мая 2003 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by Cutty Sark
IKor, сформулируй задачу, мы ее тебе в лучшем виде напишем, а пока она будет работать на благо Родины, ты в ней разберешься.



Хорошо, формулирую задачу!
Предисловие: Идея написать удобный анализатор боев для Бойцовского клуба. Их уже написано целая куча - я хочу написать свой для себя.
Без макросов задача решена (см. вложенный файл), однако, без них невозможно сделать несколько удобных штучек (в частности, распознавание цвета символа в строке).
Примечание: Проект не коммерческий, однако, при удачном стечении обстоятельств за него можно получить внутриигровые бонусы.

Техническое Задание (выдано мной для себя самого и прочих желающих):
Программа предназначена для оценки вероятностей нанесения удара в одну из четырех зон для каждого из противников (всего 8 цифер) на основании соотвтствия текущей ситуации с имеющимися в базе данных.
1. Разработать алгоритм предсказания направления следующего удара противника и собственного удара на основании данных предыдущих боев (Пока только одиночных).
2. Разработать алгоритм быстрого введения данных завершенных боев из html-страниц. Пример статистики боя
В приложенном файле методика такова: выделить таблицу ударов из html-странички, скопировать ее в xls-таблицу, проверить и вручную (Sic!) внести изменения для критов и уворотов (выделены цветом), результат скопировать в общую таблицу хранения данных проведенных боев.
3. Разработать схему хранения данных для проведенных боев. В прилагаемом примере данные каждого раунда боя храняться в двух смежных ячейках в виде двузначного числа, где первая цифра 1...4 хранит направление удара, а вторая 1...5 - результативность удара.
4. Разработать методику анализа проведенных боев и выбора ситуаций, подобных анализируемой. В преложенном примере данные для анализа складываются из сцепки двух двузначных чисел в одно четырехзначное число, где первая пара цифер соответствует направлению и результату удара игрока, а вторая пара - его противника.
5. Разработать методику выбора анализируемых раундов, позволяющую:
- отфильтровывать бои по нескольким параметрам,
- формировать маску выбора похожих ситуаций по результатам последних нескольких (глубина маски переменна) раундов анализируемого боя с различными условиями;
(В предложенном примере она прописана);
6. Разработать методику анализа выбранных по маске раундов боев для расчета вероятности нанесения удара в том или ином направлении (1...4), а также их представления (диаграмма). В предлагаемом примере для этого используются функции массива.
7. Последний (анализируемый) бой вводится в таблицу вручную по известным правилам (для того, чтобы это автоматизировать потребуется, на мой взглад, слишком много затрат). Выполнить автоматическое определение последнего раунда боя для создания маски (п.5).
8. Выполнить предупреждение о повторном введении боя в таблицу. Для чего в таблицу внесена дата и время проведения боя. Пока не реализовано.
9. Разработать методику оценки эффективности использования данного анализатора. Пока не реализована. На мой взгляд нужно сделать что-то вроде дополнительной таблицы, где для каждой пары ударов (раунда боя) хранить информацию о том угадала бы машина или нет.

Вот так.

1.3K
07 мая 2003 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by Cutty Sark
А о книжках - я учился не по книжкам, но в какой-то момент мне попалась одна отличная книжка по ВБА97, очень толково написанная (ненавижу стиль книжек "для чайников": нажмите вон ту пимпочку в правом углу.


Что ты имеешь в виду? Какая кнопка?

267
07 мая 2003 года
Cutty Sark
1.2K / / 17.10.2002
Ну что, побывал я на сайте БК. Внутрь пускают только зарегистрированных. Незарегистрированных пускают только в "Энциклопедию", в которой большая часть разделов пусты. Поскольку регистрироваться желания пока нет, придется тебе
объяснить мне кое-какие непонятности. Как я понял, это игра типа "Камень-ножницы-бумага", только понавороченней.
Что ж, любопытно, я с женой постоянно играю в "камень-ножницы" кому посуду мыть, так что тема мне близка. :)
Ты хочешь статистически предсказывать ходы соперников. Это интересная задачка, только объясни мне как у вас протекает бой? Я понял что есть 4 вида ударов и 4 вида блоков, но больше этого понял мало.
То есть ты хочешь хранить у себя логи боев по каждому игроку? А бои не с твоим участием доступны для обозрения?
И часто ли ты сталкиваешься с одним и тем же соперником?
И вообще, у тебя аська или яху_мессенджер есть? А то через форум мы можем умучаться так общаться...

Жду ответа.
1.3K
08 мая 2003 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by Cutty Sark
И вообще, у тебя аська или яху_мессенджер есть? А то через форум мы можем умучаться так общаться...

Жду ответа.



Аська есть: 176920087 / IKor
ICQ web
Аська, более-менее постоянно включена...

258
08 мая 2003 года
SergeySV
1.5K / / 19.03.2003
Это игра - Бойцовский клуб.
Изначально на телефонах появилась, а потом набрала свою популярность в инете, где проводятся ранговые бои и все такое, вообщем полная жизнь вокруг. Уже даже куча фанатов есть.
267
08 мая 2003 года
Cutty Sark
1.2K / / 17.10.2002
Цитата:
Originally posted by SergeySV
Это игра - Бойцовский клуб.
Изначально на телефонах появилась, а потом набрала свою популярность в инете, где проводятся ранговые бои и все такое, вообщем полная жизнь вокруг. Уже даже куча фанатов есть.



Да, я почитал, аж прибалдел от такой массовости.
"Клан "Рогатые Трупоеды""... Это ж надо ж... :o

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог