![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルでシートにリンクを貼り付けているのですが元シートに行を挿入した場合にリンク先シートの行も挿入になってほしいのですが・・・
例えば
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(エクセル)
-
14
Excelの「0」だけ非表示、小数点の0.~は表示したいのですが、どうすればいいのでしょう。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
エクセルで「ページレイアウト...
-
エクセルの数式バーのフォント...
-
エクセルの関数について教えて...
-
エクセルでセルに標準で入力さ...
-
Microsoft1Officeの互換ソフト...
-
シフト表をエクセルで作るとき...
-
ユーザー定義関数をアドイン登...
-
Excel VBAで全ての矢印を赤色に...
-
VBA Private Sub Worksheet_Cha...
-
2列に入っているデータを1列...
-
Excelに詳しい方! B列が「日...
-
excel2013 MonthDays 関数が使...
-
エクセルのクイックアクセスツ...
-
Excelの数式について教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報