Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 10.06.2008, 13:20   #1
Сергей Яковлевич
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию Как сложить текстовые значения?

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

Помогите советом. Заранее благодарен.
Сергей Яковлевич вне форума
Старый 10.06.2008, 13:40   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Прикрепите файл, сделаю.
Или попытайтесь сами в дополнительном столбце сцеплять значение из предыдущей ячейки этого столбца с номером текущей строкой, если она подходит по условию.

что-то типа:
=R[-1]C & ЕСЛИ(Ваше условие;"," & СТРОКА();"")

в конце столбца получите требуемый результат.

Возможно сделать все в обратном порядке (начиная с конца списка), тогда результат будет в первой строке, удобнее смотреть))
тода формула должна быть:
=R[1]C & ЕСЛИ(Ваше условие;"," & СТРОКА();"")
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 10.06.2008, 13:50   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1) Решать задачу с помощью VBA или нет?
2) Что значит
Цитата:
номера тех строк, которые удовлетворяют условию
Посмотрите пример, в котором просматривается столбец "A" и при выполнении условия (в данном случае - значение ячейки = "Условие"), выполняется "наращивание" переменной MyString. После выхода из цикла, если нашлось хотя бы одно значение, то убираем последнюю запятую.
Если подходит - возьмите за основу и доработайте, как Вам нужно. Хотя рациональнее использовать метод Find (FindNext). Если интересует - сформулируйте задачу подробнее.
Код:
Sub Main()

    Dim MyString As String, i As Long
    
    MyString = ""
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(i, "A") = "Условие" Then MyString = i & ", "
    Next
    
    If MyString <> "" Then MyString = Left(MyString, Len(MyString) - 2)
    
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 10.06.2008, 14:41   #4
Сергей Яковлевич
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию

Большое спасибо, что откликнулись.
В VBA я так тоже смог бы, наверно, если б помучился. Хочется простой формулой в ячейке.
Поэтому, нужно что-то типа как предложил IgorGO.
Здесь не понятно, что такое =R[-1]C. И номер строки нужен не СТРОКА(), а нумерация своя в колонке А - по порядку, но с разрывами.

Прилагаю образец.
Вложения
Тип файла: rar Ask.rar (13.3 Кб, 26 просмотров)
Сергей Яковлевич вне форума
Старый 10.06.2008, 14:44   #5
Сергей Яковлевич
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию

В образце смотрите: в Заключении нужно перечислить строки, в которых по столбцу Н стоит "не соотв."
Сергей Яковлевич вне форума
Старый 10.06.2008, 15:07   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

копируйте формулы на ваш лист.
колонку I можно спрятать, чтобы не портила пейзаж...
Вложения
Тип файла: rar НеСоотв.rar (4.3 Кб, 41 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 10.06.2008, 16:21   #7
Сергей Яковлевич
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию

Огромное спасибо!
Это то, чего я и хотел. Если получится упростить, то напишу сюда же попозже.
Сергей Яковлевич вне форума
Старый 10.06.2008, 16:57   #8
Сергей Яковлевич
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию

Не упростил, но внес изменение, чтобы перечисление шло не строк листа Excel, а строк, нумерованных пользователем.

Было бы интересно сделать так, чтобы при предварительном просмотре не показывались пустые листы (на которых скрыты эти формулы). Они ведь и при печати выходят, если не ограничить принтер. И ведь не просто пустые, а с колонтитулами. (Жалко бумаги)

Еще раз - моя благодарность! Моему счастью нет предела. Три месяца вручную мучался с протоколами.
Вложения
Тип файла: rar НеСоотв2.rar (2.1 Кб, 32 просмотров)
Сергей Яковлевич вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сложить два числа с плавающей точкой forsy Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 19 29.03.2010 02:15
Как это можно сложить, формулой valerij Microsoft Office Excel 9 05.08.2008 13:45
сложить 2 числа vanDJ Microsoft Office Access 3 20.12.2007 08:57
как сложить 2 числа andrey4623 Общие вопросы C/C++ 9 13.12.2007 17:42
Как сложить 2 значения из разных БД по ключу Nitti БД в Delphi 1 04.05.2007 12:58