-3

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

Нужна помощь!

bta-mir-225            bta-mir-225         ATCG

                       bta-mir-454         TGTCG

bta-mir-454            bta-mir-367        AAAGTA

bta-mir-367          

Все, что я хочу, это дублировать последовательность 225 в следующем ряду, совмещая совмещенные совпадения. т.е.

bta-mir-225            bta-mir-225         ATCG

                       **bta-mir-225         ATCG**

bta-mir-454           bta-mir-454         TGTCG

bta-mir-367           bta-mir-367        AAAGTA

2 ответа2

3

Кстати, для этого и создаются базы данных. Я предлагаю вам использовать их вместо. Тем не менее, вам повезло. Простое решение в Excel:

Скопируйте свой первый столбец на новый лист. На этом листе добавьте второй столбец с формулой в ячейке B1:

=LOOKUP("dummy input",A$1:A1)

Поиск "фиктивного ввода" - это способ найти следующую непустую ячейку в исходной области данных. Затем в С1 того же листа добавьте:

=VLOOKUP(B1,Sheet1!B:C,2,FALSE)

где Sheet1!B:C относится ко второму и третьему столбцам исходных данных.

Перетащите их через весь набор данных.

-2

Обновление Еще один ответ доказал, что я не прав. Если мы поняли, о чем идет речь, то для этого есть довольно простая формула.


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

Если вам нужно автоматизировать это, вам нужно запрограммировать макрос на VBA, чтобы сделать это. Это не сложный макрос, но даже кому-то, имеющему опыт программирования, понадобится полчаса. Если вы не программист, вам могут потребоваться дни, чтобы изучить его.

Предполагая, что вы никогда не программировали VBA: если у вас несколько сотен строк, я предлагаю сделать это вручную. Более тысячи, если вы можете найти кого-то, кто может программировать VBA, попросите их сделать это для вас. Кроме того, найдите кого-то, кто хорошо работает с Linq, и попросите его сделать это для вас в Linqpad. Если вы не можете найти такого человека и являетесь биологом, а не программистом, изучать VBA стоит только в том случае, если у вас десятки тысяч строк, иначе делать это вручную будет утомительно, но может потребоваться меньше времени. время и усилия.

Еще один простой способ сделать это - поместить ваши данные в базу данных, даже такую легкую, как Access. Затем делайте что хотите (это единственная операция, называемая внешним соединением, а с помощью Access вы сможете копировать и вставлять свои данные, если они достаточно чистые) и экспортировать обратно в Excel. Применяется тот же расчет затрат / выгод: если вы знаете кого-то, кто хорошо знает SQL, стоит поискать более 1000 строк. Если вам нужно научиться моделировать реляционные базы данных самостоятельно, и вы не талантливы в изучении компьютерных наук, вам понадобятся десятки часов, пока вы не станете достаточно хорошими, чтобы не только понять, что делать, но и быть уверенным, что вы сделали правильный.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .