マイクロソフト/エクセルについての質問です。空白、値、空白、値、空白…と一行おきにデータが連続している場合に、値が入っているセルはそのままで、空白のセルのみ全てにセル式を簡単に入れ込む方法はありませんでしょうか?例えばセルA1:空白、セルA2:山田、セルA3:空白、セルA4:田中、セルA5:空白、となっている時、セルA1:=B1、セルA3:=B3、セルA5:=B5、みたいな規則性のある参照式をできるだけ簡単な作業で入れたいのです。1行おきにはすでに手入力したデータがあって、それは消さずに式をはめ込みたいということです。空いている列で参照式を作成して、それを「形式を選択して貼り付け」で、数式のみ貼り付けても、値のデータも上書きされてしまいますので。「=が先頭に入ったセル式のみコピー」機能があればいいんですが。データ量は数百行~数千行を想定しており、1行飛ばしで一つ一つのセルに式を貼り付けしていくと時間がかかるので…。マクロではできるのですが、シート内の操作で何か良い方法がありましたらご教授下さい。無理なら無理という情報もありがたいです。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/03/28 16:50:32
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:rikuzai No.1

回答回数1366ベストアンサー獲得回数141

ポイント40pt
A B
1 木下
2 山田
3 佐々木
4 田中
5 佐藤

こういった表でA列の空白セルに同行のB列の値を参照させたい、ということでよいでしょうか。

その場合フィルタを使うのが一番簡単なように思います。


  • 一行目に空白行を挿入して、下記表のようにA1、B1に適当な列タイトルをつけます。

(フィルタ機能を円滑に使用するためです)

A B
1 参照
2 木下
3 山田
4 佐々木
5 田中
6 佐藤

  • A、B列のデータ範囲を全て選択します。
  • ツールバーの「データ」→「フィルタ」「オートフィルタ」をクリック。
  • A1、B1セルに▼印のあるフィルタができるので、A1セルのフィルタをクリックして出てくる選択肢の一番下の方にある(空白セル)をクリック。
  • すると下記表の用にA列の空白セルと対応するB列のセルだけが表示されます。
A B
1 値▼ 参照▼
2 木下
4 佐々木
6 佐藤
  • A2セルに提示されていた式=B2を入力して、コピー。
  • フィルタをかけたままA2以下データ範囲までを選択してから「形式を選択して貼付け」の「数式」で貼付け。
  • フィルタを解除。
  • タイトル行は不要なら削除してかまいません。

以上の手順でどうでしょうか?

id:kohee

なるほど、これはかなり楽ですね。

たちまち今作業したいデータシートは、すでにタイトルがあって、タイトルを作成しなくても良いですし。やり方が分かりやすくていいです。ありがとうございました。

2006/03/28 16:24:23
id:rikuzai No.2

回答回数1366ベストアンサー獲得回数141

ポイント5pt

すいません!↑の回答者です!

ボタン押してからミスに気がつきました…orz

  • A2セルに提示されていた式=B2を入力して、コピー。
  • フィルタをかけたままA2以下データ範囲までを選択してから「形式を選択して貼付け」の「数式」で貼付け。

の部分を訂正します!

正しくは

  • A2セルに提示されていた式=B2を入力して、A列のデータ範囲までフィルコピー

です。

申し訳ありません…

id:kohee

訂正ありがとうございます。

2006/03/28 16:24:44
id:kimizu No.3

回答回数726ベストアンサー獲得回数21

ポイント40pt

例えば、Cの列に、適当な数字を全ての行に入れます。

その後、A1を選択した状態で、[データ]-[フィルタ]-[オートフィルタ]

を選択します。


A1の部分をクリックすると、「空白」が出てくるので、選択して、

Aの部分に式を入れ、セルの右下を引っ張れば、簡単に式が複写

できます。


これでいかがでしょか。その後、オートフィルタを解除すればOKです。

id:kohee

ご回答ありがとうございます。

2006/03/28 16:28:44
id:kubira711 No.4

回答回数132ベストアンサー獲得回数0

ポイント40pt

A列からC列に「値を貼り付け」ます

A1に =IF(C1="",B1,C1)という式を代入してからA1をコピーし A2~ 貼り付けます。

id:kohee

なるほど、この方法もありますね。

ありがとうございます。

2006/03/28 16:30:30
id:Ricardo No.5

回答回数62ベストアンサー獲得回数0

ポイント40pt

挿入する数式が絶対指定ではなく、=RC[1]のような相対指定でも可ならば、空白セルの置換で可能かと思います。その手順としては、

1)データが入力されているセルも含め、対象となるセルを範囲指定

2)「編集」-「置換」を選択

3)検索する文字列は空白、置換後の文字列に”=RC[1]”を入力

4)”すべて置換”を実行

ただし、数式が可変の場合は不可です。

id:kohee

このやり方はおもしろいですね。全く想像できませんでした。

ツール→オプション→全般で「R1C1参照方式を使用する」オプションを外す等すれば、絶対指定でもいけるようですね。数式は可変でないので使用できます。ありがとうございます。

2006/03/28 16:35:58
id:umonist No.6

回答回数16ベストアンサー獲得回数0

ポイント40pt

色々なやり方があるもんですね。一つ追加ということで。

・一行追加して、連番を入れておく。

・空白が含まれる列をキーにして、「並べ替え」でソートして、空白項のある行を集める

・フィル機能などで数式を埋める。フィルハンドルとか使ったり。

・もう一度、追加した連番で「並べ替え」して元の順に戻せばOK。いらなければ、連番の列を削除。

とかはどうですか。

id:kohee

なるほど、そういうやり方もありますね。

元に戻すためのソート行があるので、

その点安心してデータをいじれそうです。

今回はデータシート内の構成、作業者のレベル等を考えて、

フィルタか置換え機能を使用してみます。皆様回答頂きましてどうもありがとうございました。

2006/03/28 16:49:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません