Кто шарит в экселе помогите
Имеем 2 столбца с данными:
первый вида Второй другими словами первый содержит только фамилии, а второй те же фамилии и ещё имена Задача: Заменить данные из первого столбца дополненными данными из второго. Фамилии в первом столбце находятся в определенном порядке, в котором они и должны оставаться после дополнения их данными из второго столбца. пример: а1: Пупкин в1: Антон Пальчиков а2: Воробей в2: Андрей Воробей а3: Пальчиков в3: Вася Пупкин Нужно получить инфрмацию в столбце "а" вида а1: Вася Пупкин а2: Андрей Воробей а3: Антон Пальчиков |
не шарю. но ник приятно видеть правильный!
|
Попробую сейчас сделать...
А нужно пользоваться только функциями Экселя, без vba? UPD: В принципе сейчас функциями сделаю. Конкретно для 3-х значений сделал - если больше - то надо делать цикл, а это уже в макросах... |
Я сделал уже. Не парься.
Код:
using System.Collections.Generic; |
ммм,С++?))
|
Нифига себе...
Ну да ладно, а если надо сделать только средствами MS Excel? |
Сказали - можно чем угодно :) Как мне проще так и сделал. Важен результат.
C# это а не С++ Но я готов обсудить ради интереса, как это сделать без макросов. Пока что простого решения не вижу. |
Без макросов ИМХО никак.
Я делал так - разбил строку ИМЯ_ФАМИЛИЯ на две, потом условиями прогонял каждую строку на совпадения, если фамилия совпадала - слеплял ячейки вместе. Если больше значений - размер условия очень вырастет, так что только макросы (если пользовать только офисные средства). |
Щас посмотрел, есть функция vlookup например. Ищет значение в колонке. Думаю её можно заюзать..
|
Огромное спасибо Кефир
|
Цитата:
Может там еще есть string.IsNameOfKnownArtist ?:) На самом деле, удобно. Апд: пардон за глупые вопросы. Просто я до сих пор фигачу на Delphi под Win32, ибо свято верю, что на .NET можно писать только медиаплееры и браузеры, а серьезное ПО для моделирования технологических процессов требует реализации вычислительных методов непосредственно программистом - не хочу, чтоб у меня памятью управлял непонятный гарбаж-коллектор :) |
Анжич-анжич..
Серьёзное ПО требует стабильности. Гарбаж-коллектор для того и сделан, чтобы ты думал о техпроцессах, а не о том, где бы мемори-лик не случился. Дебаггер, опять же, намного круче чем в unmanaged языках. А это очень важно для серьёзных приложений. Медиаплееры и браузеры как раз на .NET врядли. А вот бизнес-приложения ("серьёзное по") - на всю катушку. Тут есть всё для разработки гагантских приложений со сложной архитектурой. Я этим собственно и занимаюсь уже довольно давно. Цитата:
Там много чего есть удобного. Обрати внимание на col2.Find(x => x.Contains(s)). Ну это так, цветочки. Дельфи даже рядом не валялся. А WPF видел? Linq2Sql? Короче, очень советую попробовать .NET или Java, у них там очень похожие крутые штуки. |
Круто!
col2.Find(x => x.Contains(s)) - реально интересно, на дельфе такое в 3-4 строки укладывается, хотя, может embarcadero в версии 2010 чего-нибудь нового подкинули :) С WPF конечно работал, но для фана, а с Link2SQL побаловаться пока не удалось. Delphi, в принципе, тоже поддерживает .NET с шестой версии, так что все прелести этой библиотеки доступны. У меня сейчас стоит задача оптимизации приложения, которое моделирует процесс разделения газожидкостной смеси в жалюзийном сепараторе.Если короче, то основной модуль представляет собой 4 или иногда 5 вложенных циклов, в каждом от 1000 до 10000 операций, причем со сложными математическими преобразованиями. Наш эксперт сказал, что если переведу это дело на .NET - начну терять ценные миллисекунды на каждом шаге, а в результате это выльется в приличное замедление работы, с тех пор я как-то .NET стороной обхожу :) |
Ну никто и не спорит, что такие алгоритмы, где каждые такт дорог, надо реализовывать на низком уровне. Хотя опять же как посмотреть.. где-то .net и не хуже может оказаться. Всё зависит от прокладкой между сиденьем и клавиатурой.
Например, сейчас уже зачастую быстрее будет работать какой-нибудь алгоритм на C++, чем на ассемблере. Оптимизирующие компиляторы творят чудеса. Цитата:
Эх, можно долго всё это обсуждать ) Технологии вообще летят вперёд, только одно осваиваешь - уже новое выходит.. только поспевай. Мы уже пишем под .NET 4 Beta2 |
Нормально, не отстаете от времени.
Я вообще то не кодер, а it-специалист широкого профиля. Вследствие большой ширины, особой глубины нигде не достигается :), поэтому всегда есть что-то, чего не знаю или не успел узнать/попробовать. Хотя, может оно и к лучшему :) |
о_0
|
Как же ты, Митяй, прав!
|
Часовой пояс GMT +4, время: 07:14. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot