- ベストアンサー
エクセルの行コピーに関する質問
- エクセルの行コピーに関して質問です。行のコピーに対し、特定の列のみコピーしない方法はありますか?
- 質問者はエクセルの初心者であり、マクロの使用を避けたいと述べています。一つのシートに表示させる方法や、別のシートに表示させる方法は適切ではないと考えられます。
- 質問中には、コピーする行が100以上あり、データをUSBなどでバラバラに持ってくるため、コピーする箇所は各自が判断する必要がありますと述べられています。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>前者の方法ならできるようですね。 前者とはSaitarさんの方法でしょうか? >最終的にはその数百のデータの中のある部分について最大値をとりたいのです。 別シートに =MAX(Sheet1!1:1) のようにしておけばよいような?? >123456789…120 >というcsvのデータを行コピーし 対象の行のA列を選択し、[Ctrl]+[Shift]+[→] としてコピーすればいいのかな?? >行コピーするとその最後の列の数式も消えてしまうので それとも、貼り付け時に 形式を選択して貼り付け [レ]空白セルを無視する にチェックを入れるとか? いつも、csvファイルの列数が同じならリンク貼り付けしておけばよいような気もするし、 さらには、データベースクエリを使ってできそうな気もする。 データがどのような形なのかわからないのでできるかできないかはわからないけど。 >簡単なことのような気もするのですができないのでしょうかね。 どのようなデータをどのように貼り付けてどのような結果を求めたいかがよくわかっていない というのが当方の現状です。
その他の回答 (4)
- mu2011
- ベストアンサー率38% (1910/4994)
コピー元範囲の一部セルに数式が設定されていてコピー先には反映したくないという事 ならば次の方法は如何でしょうか。 ・コピー元セル範囲を選択→Ctrl+Gキー押下→セル選択→定数にチェック付ける→OK ・選択されたセル上で右クリックのコピー→コピー先で貼り付け
お礼
すみません。下の方の回答で解決しました。 こういう方法もあるのですね。ありがとうございました。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
コピペ後、どのような形になっているのが望ましいのか書いてありませんが、 値の貼り付けで、左へ詰めるなら 0. 張り付けたくない列を非表示 1. コピーしたい行の選択 2. [Alt]+[;]可視セルの選択 3. 対象の場所へ貼り付け 単純に消すのもありなのかなあ 1. コピーしたい行の選択 2. 対象の場所へ貼り付け 3. 消したい列を選んで[Delete] 非表示の方法 ・対象列を選択して 右クリック 表示しない ・対象列を選択して データ - グループとアウトラインの設定 - グループ化 [2] ・対象列を選択して 右クリック 表示しない 表示 - ユーザー設定のビューに登録し、切り替え 非表示列の選択方法として ・名前ボックスに Z:Z [Enter] ・[Ctrl]+[F3]名前の定義 名前 桜 参照範囲:=$Z:$Z,$AD:$AD など複数列選択可 名前ボックスの[▼]から選択する ・対象列を選択して ユーザー設定のビューに登録し、切り替え # ちなみにマクロの保存先に、違うブックや個人用のマクロブックに保存できます。 # また、USBはユニバーサルシリアルバスといって、周辺機器をつなぐための規格です
補足
すみません。前者の方法ならできるようですね。 やりたいことは他の装置で出した結果のデータ移送です。 csv形式で抜き取るため一つのデータにつき1行に百程度の数値がでてきます。 それが質問のデータです。 最終的にはその数百のデータの中のある部分について最大値をとりたいのです。 123456789…120 というcsvのデータを行コピーし 別のエクセルファイルに行貼り付けで毎回入れそのあとに 最後の列に=MAX(B2:AZ2)というような式をいれて出すことにしています。 最後の列にはこの数式をすべての行に入れています。 データは日々いれていくのでcsvファイルの行をコピーするのですが 行コピーするとその最後の列の数式も消えてしまうので毎回式を入れなおさなくては いけません。 その数式のある列のみコピーする必要がないのですが・・・ 簡単なことのような気もするのですができないのでしょうかね。
- imogasi
- ベストアンサー率27% (4737/17069)
コピー元において、その列を範囲指定しない(範囲指定からはずす)で、コピーし、貼り付けすればしまいでは? こんなことではないのか?何が聞きたいのか。 例データ A2:D9 a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 a4 b4 c4 d4 a5 b5 c5 d5 a6 b6 c6 d6 a7 b7 c7 d7 a8 b8 c8 d8 ーー CTRLを押しつつ、A列、B列、D列(のデータ部分)をマウスで範囲指定して CTRL+C A16を選択して CTRL+V A16:C23に a1 b1 d1 a2 b2 d2 a3 b3 d3 a4 b4 d4 a5 b5 d5 a6 b6 d6 a7 b7 d7 a8 b8 d8 ーーー 但しエクセルをほとんど知らない操作者に、あるいは多少知っていても何をするのかの説明が出来ないと、行きづまるはず。 そういうのは設計者が決めた操作を、VBAで代わってやらせないと、ほかにはやりようが無いだろう。 丁寧なマニュアルを作っておいて、それを読んでもらい、そのとおりにやってもらう手は別にある。 それさえも難しいと、利用者を頼ってないケースも多く、使えないだろう。 それでは次に何をするか画面に出すような操作を組み入れるのも、結構設定が難しかったり、VBAでも難しいことになる。 質問者がVBAなりを勉強しなければ進まない。エクセルで他人に使ってもらうというようなのは、想定外ではないかとわたしは思っている。何でもエクセル、エクセル(操作・関数で利用)しか知らない人が高度な要求を質問する場合がある。
補足
行コピーで対応したい、他の行、シートに写すという操作はしたくないと書いています。 (こちらの説明不足はもちろんありますが) そちらの主観を言われる以前に説明不足ならそちらを指摘ください。 主観を言う場所ではないと思いますが。
- Saitar
- ベストアンサー率41% (192/464)
(1)コピーしたい範囲の左上のセルをクリックします (2)次にSiftキーを押しながら、右下のセルをクリックします (3)(1)、(2)でコピーしたい範囲だけが選択モードになります (4)編集タブ→コピーをクリック (5)貼り付けたい箇所の左上のセルをクリックして、編集タブ→貼り付けをクリック で、ご希望の処理ができますか?
お礼
前者の方法はCoartarさんの初めに書いてくださったものです。 貼り付け時に 形式を選択して貼り付け [レ]空白セルを無視する でできました! 貼り付ける際空白セルも入れ込んでしまっていたのが問題だったということですね。 簡単なことを難しい質問をして申し訳ありませんでした。 ありがとうございました。