みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCELにデータを効率的に入力したいのですが

A列に、りんご、みかん、ぶどう、もも、メロン・・・といった言葉が数百個入ってます。
B列に、apple, orange, grape, peach, melon.....といったA列の言葉に対応する言葉が数百個入っています。

E1~E9に別のデータが入っており、
E3に"果物"E4に"fruits"と入っています。
E11~E19、E21~E29はE1~E9と同じ文がコピーされたものとなっており、
以下数百個同じコピー文が数百個入っています。

これを、A列とB列のデータを使って
E3に"りんご"E4に"apple"、E13に"みかん"、E14に"orange"と入り、
以下、数百個の"果物"と”fruits”にA列とB列のデータがひとつづつ入るよう
したいのですが、これをひとつづつコピーペーストするのでなく
効率的に行う方法はないでしょうか?

どなたか教えてくださいませ。
よろしくお願いいたします。

投稿日時 - 2016-10-17 23:56:25

QNo.9244148

すぐに回答ほしいです

質問者が選んだベストアンサー

回答No.2の方のように、関数を使ったやり方ですと、別のセルを使うことになるので、質問者が考えておられる「果物」という文字がある「E」列の文字の置換にはなりません。

そこで、アホみたいに簡単なマクロを組みました。

前提条件は、「E」列に「果物」があった場合は、その行の「A」列の文字を、「fruits」があった場合は、その行の「B」列の文字を「E」列に代入する、というものです。

例えば、「A4」が「もも」で「E4」に「果物」と入っていれば、「E4」は「もも」になり、「B5」が「melon」で、「E5」が「fruits」なら、「E5」が「melon」になります。

やりたいエクセルファイルを開いて、「Alt+F11」(「Alt」(「オルト」と読みます)キーを押しながら、「F11」キーを押す)で、「Visual Basic」の画面を表示します。

メニューの「挿入」から「標準モジュール」をクリック。

右側の広い部分が白くなったと思うので、その白く大きな部分に、以下のマクロをコピー&ペーストし、あとは「F5」を押すだけです。

Option Explicit
Sub Test()
Dim i As Long
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
If Cells(i, 5).Value = "果物" Then
Cells(i, 5).Value = Cells(i, 1).Value
ElseIf Cells(i, 5).Value = "fruits" Then
Cells(i, 5).Value = Cells(i, 2).Value
End If
Next i
End Sub

投稿日時 - 2016-10-18 09:49:05

お礼

ご親切にプログラムを教えていただきありがとうございました。
結局わたしの能力不足でうまくいきませんでしたが、
期限があるので地道にコピペすることになりました。
アドバイスをくださった皆様に感謝し、一番丁寧なご回答をくださった方をベストアンサーとさせていただきます。

投稿日時 - 2016-10-18 20:24:48

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

使っていない列が例えばF列の場合、F3セルに以下の式を入れて、下にドラッグコピーし、その後、F列をコピーしてE列に値のみコピー。
=IF(E3="果物",A3,B3)

投稿日時 - 2016-10-18 07:39:36

ANo.1

E3に"果物"E4に"fruits"と入っています。
E3に"りんご"E4に"apple"と入るように。
は、意味不明です。

投稿日時 - 2016-10-18 04:32:22

補足

回答ありがとうございます。
E3,E4に入っている果物、fruitsという文字を
実際の果物の文字に置き換えたいのです。
ひとつづつコピペすればそれはできますが、数百コピペすると手間がかかるので
効率的にやる方法がないかと。

投稿日時 - 2016-10-18 06:56:08

あなたにオススメの質問