Excelで隣接しない列に一発で値貼り付けする方法

このQ&Aのポイント
  • Excelの同じシートの隣接しない列に表示されたデータを一発で値の貼り付けする方法を教えてください。
  • 現在はオートフィルタを使用して列を表示させ、一つずつ値を貼り付けているが、効率的な方法はあるでしょうか。
  • PC環境はWin XP / Excel 2003です。関数やマクロを利用して解決する方法を教えてください。
回答を見る
  • ベストアンサー

Excel 隣接しない列に一発で値貼り付け

Excel 隣接しない列に一発で値貼り付け 隣接する列に表示されたデータを、同じシートの隣接しない列に一発で値の貼り付けがしたいのですが、可能でしょうか?   A     B     C    D    E         1 チェック タイトル 名前1  名前2 説明 2 ○    野菜   人参   牛蒡  これは根菜類 3 ○          胡瓜       うり科の野菜です 4 5 ○    果物   バナナ  柿   暖色系の色です   G       H         I     J           K     …… 1 計算式   B列を値貼り付け 計算式   C列を値貼り付け  計算式  …… ■A列  :C列に文字入力がある場合「○」が表示されます     {=IF(OR($C1>""),"○","")} ■B-E列:他のシートの任意のセルの値をコピー     {=IF(ISERROR(INDIRECT("'シート名'!セル")),"",INDIRECT("'シート名'!セル"))} *C列の空白の場合は全ての列が空白である(A列の式はそのため) *C列に文字がある場合のB、D、E列の空白には意味がある。 *コピーではなく値の貼り付けを行いたい。 *貼り付け左記の列は飛び飛びである。 *行の長さは可変する。 今までは、A列を「オートフィルタ」で「○」のみ表示させ、B-E列を1列づつH、J、L、N列へ貼り付けていました。マクロもいろいろ考えたのですが、初心者のため応用が出来ません。 関数でもマクロでも頑張ってトライしますのでお知恵を頂けますでしょうか。 PC環境:Win XP / Excel 2003

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

判りにくい質問である。それで解答が付かないのでは。 数値・文字を直接にセルに入れたデータはコピー貼り付けでそのまま移る(常識)。 形式を選択して貼り付けー値ならなんら心配は要らない。 セル番著が入ったセルは、固定的なセルを参照している場合は、$C$1のように絶対参照にしておれば張りつけてセルが変わっても変わらず不都合ないだろう。 他列を参照している場合、$つきにしなくても良い場合は$をはずす。 タ行の場合もおなじ。 すると貼り付けによって、相対的に旨く修正してくれるはず。 他行の参照も列とおなじとおもう。 INDIRECT関数の中の番地も変更される。その対策を採る。 以上やってみてうまく行かない点は、私の注意点指摘がもれていると思う。 余り質問のようなことはしないので、十分でないかもしれない。 別シートの同一場所に貼り付ける場合が多いと思う。 だから質問者がやってみて旨く行かない個別点を質問すべきだ。 基本的には一発という方法は無いと思う。 数式の複写は隣接する行(直下行)や列(直右列)に、複写して式を合理的に自動修正するために役立てるものです。 離れたセルの場合は、かえって災いになる場合がありえる。注意してやる必要があると思う。

15daifukufuku
質問者

補足

ご回答ありがとうございます。 すみません。あせっていたので支離滅裂でした。 下記のタイトルで再度質問しなおしておりますので よろしかったらご確認下さい。 ご迷惑をおかけいたしました。 ↓再質問のタイトル↓ 「Excel 隣接しない列に値貼り付け」

関連するQ&A

  • Excel 隣接しない列に値貼り付け

    Excel 隣接しない列に値貼り付け ※「Excel 隣接しない列に一発で値貼り付け」の書き直しです。 ある一定の書式にしたがって作成された20~30のシートのデータを1つのシートに集約しており(集約シートを含み全てのシートは同じデータ内です。)、データを集約した集約シートの「表A」は下記の添付画像左側のようになります。 やりたいことは、「表A」のB列、C列、D列、E列をある条件のもとに右側の「表B」のH列、J列、L列、N列に値の貼り付けを行いたいのです。 現在の作業工程は、C列の空白行は必要ないため(C列が空白=他の列も空白)C列に文字入力があるとチェックが入るA列のオートフィルターで、「○」のみ表示にし、B~E列を順にそれぞれ、2行目からデータが記載された最終行までコピーし 「表B」のそれぞれの箇所に値貼り付けを行っています。 この時の注意点として、A列のオートフィルタ利用のためC列には空白がありませんが、B、D、E列には空白が存在します。 データがある最終行以下の空白は必要ありませんが、データ間の空白には意味があります。(下記の図で示すと「B3、4」や「D3、4」) 現在の作業工程でも問題はないのですが、この作業は最初に記載した20~30のシートに記載されたデータの校正に使うため取りこぼしをしたくなく、不特定多数の方が簡単に使えるようにしたいので、どうにか作業工程を減らしたいと考えています。 よろしくお願いします。 ▼書式シート *シートの数は増減する。 *集約シートが参照するセルには、必ずデータが入力されているわけではない。 *入力データは全て数値ではなく文字である。 ▼集約シート *他のブックと共通使用なため、一部の式は他のブックへのコピーに対応する形である。 *空白セルを参照している場合に結果として返される「0」は、オプション設定で非表示にて対応 *「表A」の行長は増減する。 *貼り付け先「表B」の列は飛び飛びである。 ▼ちなみに「表A」に使われている計算式(実際とは一部変えています) ■A列  :C列に文字入力がある場合「○」が表示されます     {=IF(OR($C1>""),"○","")} ■B-E列:他のシートの任意のセルの値をコピー     {=IF(ISERROR(INDIRECT("'シート名'!セル")),"",INDIRECT("'シート名'!セル"))} PC環境:Win XP / Excel 2003

  • 値の貼り付けとcounta関数(空白をカウント)

    A1 1 A2 a A3 a A4 1 A5 a 上記のデータがあります。(aは任意の文字列、1は数字の1のみ) 1.B列に、「=IF(A1=1,"",A1)」を入力。(1を消すためです) 2.C列に、B列をコピー、形式を選択して値を張り付け。(値のみをカウントするため) 3.C6に「=COUNTA(C1:C5)」を入力。計算結果=5。 空白以外のセルをカウントして欲しいので、COUNTA関数用いたのに、 空白もカウントされてしまいます。 なお、手作業で空白セル(C1)をデリートすると、計算結果は「4」になります。 計算結果として「3」を表示させる方法をご教授ください。 (データは8000件以上あり、手作業での空白セルのデリートは不可能です) あるいは、違ったやり方での正しい計算結果の出し方があれば、お願いします。 D列に「=CLEAN(B1)」「=SUBSTITUTE(B1," ","")」を入力、E列へ値の貼り付け、もE6のCOUNTAの結果は5になります。(当然D6も) 以上、よろしくお願いいたします。 環境:エクセル2000 XP Pro

  • Excel うまく貼り付けできない

    Excel2003です。 今まではできたのですが急にできなくなってしまいました。 例えば、A列に数量、B列に単価があり、C列にA×Bの小計の計算式を作るとします。 C1に「=A1*B1」とつくり、以下C2以降にコピー、貼り付けすると全てC1と同じ値が表示されてしまいます。しかし、C2以下のセルの内容を見てみるとちゃんと「=A2*B2」…となっており、形式を選択して「値のみ」貼り付けたというわけではないようです。 更におかしいのは、この状態で保存すると正しく計算された値となって表示されるようになります。 原因がわからず、大変不便をしています。 どなたかご教示ください。

  • 値のみの貼り付けなのですが…。

    シート間での値の貼り付けをしたいのですが教えて下さい。宜しくお願いします。 例えば、A社・B社・C社・集計シートがあった時、まずA社の数式の入っているセルB10・E10・G10の数値を集計シートのC4・C5・C6のセルに値のみ貼り付けて、次の行にB社、また次の行にC社をと上書きでなく、データが追加されるようにしたいのですが、できますでしょうか?

  • エクセル 固定されたセルを列が変更されるセルに貼り付ける

    エクセルで月の売上を年の売上表に転記したいと思っています。 シート1のA1に入っている月の売上の値をシート2のA1に貼り付け、 翌月にシート1のA1に更新された値(翌月の売上)をシート2のB1に貼り付けという様に、シート1の固定されたセルを(値は変更)シート2の列が変更されるセル(行は固定)に値を貼り付ける方法を教えてください。 シート1のA1からシート2のC1に貼り付け・・・と上記を繰り返し12回貼り付けが終わった時点でシート2のA1:L1を空白にし、次回貼り付けられるセルがシート2のA1に戻るようにしたいです。 ちなみにコマンドボタンにマクロを登録し使おうと思います。 どなたかご教示お願いします。 できたらそのまま使えるマクロを作っていただけると嬉しいです。 当方初心者です。 宜しくお願いします。

  • EXCELで指定した範囲の切り取り貼り付け

    Excelで シート1のA1~E1000までデータがあります。 B列には0~1500の数値データがあり昇順で並んでいます。 このB列のデータの700~1000の数値データのA~E列全ての範囲を「切り取り」・シート2に「形式を指定して貼り付け」(値)という作業をマクロにてできませんか? 尚、1つセルが下がるごとに1数字があがるとは限りません。 大変困ってます。詳しい方ご教授ください。

  • エクセル 「値貼り付け」の結果が

    Excel2003を使用しています。 【準備】 ・セル"A3"に ="" と入力します。(何も表示されない状態) ・セル"A3"をセル"B3"に値貼り付けをします。 【操作】 この状態でセル"B6"を選択し、End(xlUp)【Endを押した後、↑を押す】を行います。 【結果】 何もデータが無い筈のセル"B3"にひっかかってしまいます。 一度セル"B3"で「F2」を押し「Enter」を押すと、ひっかからなくなります。 データが1つだけの簡単な例なのですが、 A列からB列に値貼り付けした中で、 データの入っているセルのみEnd(xlUp)に引っかかるようにする簡単な方法はないでしょうか。

  • シート1のC列の最終行をコピーして同じ行に値貼り付けしたい

    シート1のC列の最終行を取得して その行を丸々値貼り付けするマクロを作りたいと思います。 シート3のB18の値をシート1のC列の最終行の1つ下のセルに値貼り付け すると、その行のA、B列に日付が入力される関数が入っています。(下まで) 関数が入ったままだと、うまくいかない時があるので最終行をコピーして値貼り付けしたいのですが、マクロの作り方を教えてください。 シート1の最終行に貼り付け Sheets("Sheet3").Select Range("B18").Select Selection.Copy Sheets("Sheet1").Select Range("C65536").End(xlUp).Offset(1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub 最終行をコピーして値貼り付け Dim 最終行 As Integer 最終行 = Range("C65536").End(xlUp).Row Range("A6:C" & 最終行).Select Selection.Copy Sheets("Sheet1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub このマクロだと、A6からC列の最終行まで全てコピーされてしまうので、C列の最終行のAからC列まで1行だけコピーできないでしょうか?

  • エクセルでの列と列の比較、重複データ個数抽出

    すいません。どなたか教えてください。 今、エクセル2003を使用しているのですが、ある条件でデータの個数が抽出出来ません。 お知恵をお貸しください。   A列 B列 1 あ   あ 2 い   う 3 う    い 4 え    5 お   か A列とB列を比べると、「あ、い、う」の3つのデータが重複しています。 そこで、一つのセルで3個とい値を返したいです。 条件として、 ・計算用のシートや別セルを使わずに、例えば、C1などの1つのセルの中で関数を使用して個数を出したいです。 ・できたらマクロも使用しないでやりたいです。 ・数字ではなく、文字列の比較で、空白行もあります。 やはり、列同士の比較は一つのセルの中でやることは不可能なのでしょうか? どなたかよろしくお願いいたします。

  • EXCELマクロの値貼り付けについて

    同一セル内で改行しているデータをマクロを使用して別のセルに値貼り付けしようとしました。 しかし、値貼り付けを行うとセル内の改行データが空白に変換されてその通りにペーストできませんでした。 どのようにしたら、改行そのままで貼り付けできるのでしょうか? よろしくお願いします。

専門家に質問してみよう