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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2010, 09:15   #1
juliaowen
 
Регистрация: 15.01.2009
Сообщений: 7
По умолчанию Прочитать химическую формулу состава воды

Здравствуйте, уважаемые форумчане.

Помогите, пожалуйста, с такой задачей:

есть раскладка по составу анионов и катионов в природной воде
HCO = 65,22 CL = 20,57 SO4 = 14,21
Mg = 52,86 Ca = 36,74 K+Na = 10,4

Цифры количества составляющих меняются.

Нужно прочитать этот состав словами таким образом:
1. Каждая строка читается отдельно.
2. прочтение идет от вещества с меньшим количеством к веществу с большим количеством
3. если количество вещества меньше 10, то оно исключается.

В данном примере итог должен быть такой:
по первой строке: сульфатно-хлоридно-гидрокарбонатная
по второй строке: натриево-кальциево-магниевая

Если цифры поменять, то изменяется и прочтение:
HCO = 20 CL = 15 SO4 = 75 - хлоридно-гидрокарбонатно-сульфатная
Mg = 15 Ca = 60 K+Na = 25 - магниево-натриево-кальциевая

Отсортировать по возрастанию не составляет трудности. Я никак не могу сообразить, как слова к цифрам привязать и окончания в них правильно расставить - первые два слова заканчиваются на "о", а последнее на "ая".
И описывать все 24 варианта написания вручную - мне кажется не очень правильно. Наверняка же это можно как-то проще сделать...

Заранее огромное спасибо!
juliaowen вне форума Ответить с цитированием
Старый 20.07.2010, 09:52   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Сделать это можно (при помощи формул или пользовательской функции), но не факт, что решение получится простым.

Чтобы потом не переделывать готовое решение, покажите, в каком виде хранятся исходные данные
(нужен файл Excel с примером данных - табличкой типа HCO = 65,22 CL = 20,57...)
И укажите, в какую ячейку надо выводить результат.

Цитата:
если количество вещества меньше 10, то оно исключается
Приведите примеры для редких, но всё-таки теоретически возможных вариантов вроде:

1) несколько (или все) значения количества вещества РАВНЫ. Как будет называться вода?
2) из всех значений только одно (или два, или ни одного) больше 10. Как в этом случае воду назовём?

Последний раз редактировалось EducatedFool; 20.07.2010 в 09:57.
EducatedFool вне форума Ответить с цитированием
Старый 20.07.2010, 10:05   #3
juliaowen
 
Регистрация: 15.01.2009
Сообщений: 7
По умолчанию

EducatedFool, спасибо вам!
Вот файл.
Данные находятся в строках 192 и 193.
Результат должен быть в ячейке D195 (оба прочтения в одной ячейке друг за другом)
Вложения
Тип файла: zip Химический анализ воды.zip (19.6 Кб, 16 просмотров)
juliaowen вне форума Ответить с цитированием
Старый 20.07.2010, 11:01   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение.
что-то мне подсказывает, что Вы и сами могли это сделать...
Вложения
Тип файла: rar Книга366.rar (16.0 Кб, 24 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.07.2010, 11:04   #5
juliaowen
 
Регистрация: 15.01.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Приведите примеры для редких, но всё-таки теоретически возможных вариантов вроде:

1) несколько (или все) значения количества вещества РАВНЫ. Как будет называться вода?
2) из всех значений только одно (или два, или ни одного) больше 10. Как в этом случае воду назовём?
1. Это настолько маловероятно, что можно не учитывать такой вариант. Он не нужен.
2. Меньше 10 может быть только одно вещество. Чтобы все три или два были меньше 10 тоже не бывает.
Общая сумма трех составляющих всегда равна 100 (это проценты веществ в воде)
juliaowen вне форума Ответить с цитированием
Старый 20.07.2010, 11:39   #6
juliaowen
 
Регистрация: 15.01.2009
Сообщений: 7
По умолчанию

IgorGO!!!
Елки-палки! И правда достаточно просто. Сама удивляюсь, чего я так торможу
Видимо, на фоне того, что я им уже кучку макросов сделала, уже клин какой-то произошел. Не поверите, второй день смотрю на этот файл - как баран на новые ворота. И никак

Миллион благодарностей вам за то, что пнули в нужном направлении!
juliaowen вне форума Ответить с цитированием
Старый 20.07.2010, 16:20   #7
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

возможно, мой вариант с помощью пользовательской функции будет менее изящным чем с помощью формул, но может Вам подойдет, см. вложение
Вложения
Тип файла: zip Химический анализ воды.zip (22.9 Кб, 15 просмотров)

Последний раз редактировалось EugeneS; 20.07.2010 в 16:48.
EugeneS вне форума Ответить с цитированием
Старый 21.07.2010, 09:47   #8
juliaowen
 
Регистрация: 15.01.2009
Сообщений: 7
По умолчанию

EugeneS, и вам спасибо!
Буду разбираться
juliaowen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать таблицу учёта воды AgereS Microsoft Office Excel 2 16.06.2010 22:21
Удалить из состава строки последовательности bingooo Паскаль, Turbo Pascal, PascalABC.NET 18 05.04.2010 14:28
проверка состава оборудования Innka Win Api 4 15.06.2009 19:30
Серьезно: Симуляция волн на поверхности воды Levsha100 Свободное общение 6 05.06.2009 14:36