エクセルでシートにリンクを貼り付けているのですが元シートに行を挿入した場合にリンク先シートの行も挿入になってほしいのですが・・・
例えば
Sheet1
A B
1 Aさん 150
2 Bさん 270
3 Cさん 100
4 Dさん 300
5 Eさん 350
と入力し、Sheet2に以下の式?を入力した場合
Sheet2の式 Sheet2の表示
A B A B
1 =Sheet1!A1 =Sheet1!B1*2 1 Aさん 300
2 =Sheet1!A2 =Sheet1!B2*2 2 Bさん 540
3 =Sheet1!A3 =Sheet1!B3*2 -> 3 Cさん 200
4 =Sheet1!A4 =Sheet1!B4*2 4 Dさん 600
5 =Sheet1!A5 =Sheet1!B5*2 5 Eさん 700
このようになるかと思います。
Sheet1の3行目に行を挿入した場合ですが
Sheet1
A B
1 Aさん 150
2 Bさん 270
3 ←行の挿入→
4 Cさん 100
5 Dさん 300
6 Eさん 350
Sheet2は以下のようになってしまします。
Sheet2の式 Sheet2の表示
A B A B
1 =Sheet1!A1 =Sheet1!B1*2 1 Aさん 300
2 =Sheet1!A2 =Sheet1!B2*2 2 Bさん 540
3 =Sheet1!A4 =Sheet1!B4*2 -> 3 Cさん 200
4 =Sheet1!A5 =Sheet1!B5*2 4 Dさん 600
5 =Sheet1!A6 =Sheet1!B6*2 5 Eさん 700
元シートに行を挿入した場合以下のようになってほしいのですが方法はございますでしょうか?
Sheet2の式 Sheet2の表示
A B A B
1 =Sheet1!A1 =Sheet1!B1*2 1 Aさん 300
2 =Sheet1!A2 =Sheet1!B2*2 2 Bさん 540
3 =Sheet1!A3 =Sheet1!B3*2 -> 3 空白 空白
4 =Sheet1!A4 =Sheet1!B4*2 4 Cさん 200
5 =Sheet1!A5 =Sheet1!B5*2 5 Dさん 600
6 =Sheet1!A6 =Sheet1!B6*2 6 Eさん 700
因みにエクセルのバージョンは2003です。
いろいろと調べてみたのですがやり方を見つける事ができませんでした。
マクロを組めば出来そうな気もするのですがなにぶん素人なもので組み方もわからず困り果ててしまいました。
初歩的な質問で申し訳ございませんがどなたかご指導よろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは。
ハンドルネームconantheです。解決法を2つ考えました。1つめは、シート1とシート2を選択しておいてから行挿入する方法です。Shiftキーを押しながらシート1とシート2の下のタブをクリックすれば、シート2枚が選択できます。選択後、行挿入します。シート2の3行目に新たに式をコピーしなければいけませんが、これが一番単純なやり方です。
2つめは、「=Sheet1!A1 =Sheet1!B1*2」の代わりに下の式を使う方法です。
=OFFSET(Sheet1!$A$1,ROW()-1,COLUMN()-1) =OFFSET(Sheet1!$A$1,ROW()-1,COLUMN()-1)*2
シート2の行は増えませんが、データは下へ1行ずつスライドします。行挿入後、シート2の一番下の行の式を下に1行分コピーしてください。前もって無人の行にも式を入れておけばこの手間は省けます。0が並んで見苦しいですが、0を非表示に設定しておけば回避できます。
どちらのやり方も、シート1とシート2の構造が同じと仮定してあります。つまりAさんは必ず1行目にいるということです。違う場合は、少し式を変えなければいけません。
conanthe様、こんにちは。
ご回答ありがとうございます。
2つも案を頂きまして本当に恐縮しております。
一つ目のやり方につきましては私が素人と宣言した事へのご配慮と思っております。
やはりconanthe様が懸念された通り新たに式をコピペしなければいけないのがちょっとネックです。
ただ、シートを2枚同時に選択する方法は知らなかったので勉強になりました。
二つ目のやり方は素晴らしいです。
OFFSET関数を使う方法などは思いつきもしませんでした。
初めは読んでいて意味不明でしたが記述してみると「なるほど~」といった感じです。
解説にもコメントしてありますが挿入ではなくスライドといった考えなのですね。
シート1と2が同じ構造である事が条件である事も理解できました。
ご指摘通り構造条件がずれた場合はOFFSETの始まり、もしくはOFFSET値を変更する必要がありますね。
素人が陥りそうな懸念事項までしっかりとフォローしてある回答よりconanthe様のお人柄が想像できます。
ご多忙の中、ご回答ありがとうございます。
No.3
- 回答日時:
こんにちわ。
それは、コピー、貼り付けを行うとできます。
まず、行挿入したい列から、最終列までをコピーします。
それを一行下に貼り付けます。
挿入したい行をクリアします。
これでいいと思います。
ki-aaa様、こんにちは。
ご回答ありがとうございます。
読ませてもらった瞬間に「これは間違いなく出来る」といった単純明快なやり方ですね。
シンプルすぎて自分が何を迷っていたのかと思わず苦笑いしてしまいました。
コピペ後に元行を削除すれば行を挿入したのと同じ事になりますね。
しかも、リンクの並びもコピーですから崩れる事はありませんね。
行を挿入する事で頭が固まってしまい、まったく思いもつかないやり方でした。
「エクセルの裏技」といった印象を持ちました。
ありがとうございました。
No.1
- 回答日時:
INDIRECT関数を使う手もありますが、INDEX関数を使う方法を紹介します。
Sheet2のA1に以下のように入れ、縦横コピーします。
=IF(INDEX(Sheet1!A:A,ROW())="","",INDEX(Sheet1!A:A,ROW()))
kybo様、ご回答ありがとうございます。
あまりに早い回答でビックリしました。
なるほど、範囲内にデータがあるか否かで判定する方法ですね。
たしかに出来ますね。
(1).元シートに行を挿入すると参照先のシートが空白になる事
(2).IF関数を使っているので偽の条件に計算式をわかりやすく入れられる事
私の理想通りでございます。
まったく思いつかなかったアイディアでございます。
ありがとうございます。
助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Visual Basic(VBA) このプログラムなんですがsheetにデータを置いて表示できるようにしてありますがsheetに101を 2 2023/02/23 20:13
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- スーパー・コンビニ 「コンビニで エクセルをプリントアウト」することができますか? 8 2022/06/16 15:54
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- 英語 中二の英語についてです。 私は地図を描くのに紙が1枚必要です。 I need a sheet of 5 2022/08/19 17:11
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
行、列の挿入がリンク先に反映できないでしょうか
Excel(エクセル)
-
エクセルでリンクのはりつけをした場合、リンク元で行を追加した場合のリンク先への反映方法はありますか?
Excel(エクセル)
-
エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてくだ
Excel(エクセル)
-
-
4
ハイパーリンクの参照セルのズレは防げるか?
Excel(エクセル)
-
5
エクセル 行の挿入すると別シートに行が挿入され、関数も自動更新される方法
Excel(エクセル)
-
6
リンク元の行を削除すると♯REF!が表示されます。
Excel(エクセル)
-
7
[エクセル]行の挿入、シート間で連携できますか?
Excel(エクセル)
-
8
エクセル。行を挿入すると、関数が反映されない
Windows 10
-
9
エクセルのシートを同時に行削除、行挿入させて自動連動させたい
Excel(エクセル)
-
10
リンク元の日付が空白の時リンク先セルも空白にしたい
Excel(エクセル)
-
11
シート全体を他のブックのシートとリンクさせたい
Excel(エクセル)
-
12
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
13
エクセルのシート上に別のシートを埋め込む方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
Microsoft1Officeの互換ソフト...
-
Excel ピボットテーブルで日付...
-
エクセル関数を教えてください
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 白黒印刷で白線を印刷...
-
【関数】先頭だけにある、半角...
-
【関数】適切な文字数の数字を...
-
Excelのチェックボックスの使い...
-
エクセルでの作業計算方法について
-
Excelのpivotについて質問です
-
WPS OFFICEでの縦書きについて
-
時間によってファイル名が変わ...
-
エクセルのセルに同じ大きさの...
-
Aというブックの1というシート...
-
エクセルの順位別一覧表の自動...
-
西暦や和暦の表示をyyyymmdd表...
-
【マクロ】エクセルにかいてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報