このような表があります。

....A......B.......C......D
1 ........ 100 200 300
2 100
3 200
4 300

縦×横の表を作成したいのですが、
B2を=B1*A2と入力します。
そしてこの数式をC3にコピーするとC2*B3になってしまいます。
これをコピーした時に、C1*C3にしたいのですが、
横軸はいつも1の行、縦軸はいつもAの列になるように
数式のコピーはできないでしょうか?
  

このQ&Aに関連する最新のQ&A

A 回答 (2件)

■解決方法■



B2に =B$1*$A2 と入力して、コピーしてみてください。

■しくみの解説■

数式でセル番地を指定するとき、絶対参照指定ができます。
セル番地に$がついている場合は、コピーしてときに参照場所がずれません。
(逆に言うと、普段は相対参照がされていて、コピーすると自動的にずらしてくてれいます。)
この絶対参照をつかって、必要に応じて参照セルを固定することができるわけです。

[例]
$B$2 の場合は つねにB2を参照する。
B$2 の場合は つねに2行目を参照する、列はコピーしたらずれる。
$B2 の場合は つねにB列を参照する、行はコピーしたらずれる。

このような仕組みです。

※数式入力途中で、目当てのセルをクリックした直後にF4キーを押すと$マークを入力するのに便利です。F4キーを押すごとに、$マークが、行列ともにつく・行だけにつく・列だけにつく・相対参照にもどる…、というふうに繰り返されますので、好みのぶんだけ押すことで絶対参照を手軽に設定できます。
    • good
    • 0
この回答へのお礼

出来ました。
早速の御回答ありがとうございました。

お礼日時:2002/01/06 04:33

はじめまして^^



今入力している式は相対参照なのでそのようにコピーされてしまいます。

B2の式を=B$1*$A2に変更して見て下さい。
絶対参照を使えば固定されるので変化はしません。

絶対参照は行列両方使えます。
(F4がショートカットキーなので一度ためしてください)

ちなみに$は絶対参照という意味の記号です^^
    • good
    • 0
この回答へのお礼

やっぱりできるんですね。
作業効率が数十倍よくなりました。
御回答ありがとうございした。

お礼日時:2002/01/06 04:36

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBAのfor...next構文で i = A to Z としたい。

VBAでfor...next構文で通常 
for i = 1 to 100
などとしますが、それをA~Zまでとする場合どのようにすればよいでしょうか?

Aベストアンサー

#1です。
ごめんなさい。先のマクロに致命的なミスがありました。
正しくは

Dim c as String
For i = 0 To 25
  c = Chr(i + 65)

です。お詫びして訂正します。
さて

c = Chr(i + 65)

の解説ですが、

Chr は、与えられた文字コードに該当する文字を返す関数です。
半角大文字の「A」のコードは65です。
「i」は0から25までの値をとりますので、「i+65」とするわけです。

ちなみに、

Dim c as String
For i = 65 To 90
  c = Chr(i)

としても良いでしょう。

Q「定型句の挿入」をクリックで.........

Word2002 xp sp2 です
表示→ヘッダーとフッダー→定型句の挿入をクリックしますとフリーズします。タイトルバーは「応答なし」と出ます。原因がわかりません、教えて下さい

Aベストアンサー

該当すればご参考に。

マイクロソフト サポート技術情報 - 436036

[WD2002] 定型句を挿入すると応答なしになる
http://support.microsoft.com/default.aspx?scid=kb;ja;436036&Product=wd2002

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;436036&Product=wd2002

Q例えばA1に入力した文字列や数字をB1に移動する方法はどうすればよいで

例えばA1に入力した文字列や数字をB1に移動する方法はどうすればよいでしょうか?
色々検索したのですが見つかりませんでした。

本当に行いたいことはウェブページで以下のような文字列があるとします。


山田太郎[ヤマダタロウ]
〒000-0001
東京都千代田区
TEL:0000-00-0000


この文字列をドラックで文字列としてコピーしてエクセルのA5に貼り付けると
通常なら
A5に山田太郎[ヤマダタロウ]
A6に〒000-0001
A7に東京都千代田区
A8にTEL:0000-00-0000

になりますが

A1に山田太郎
B1に000-0001
C1に東京都千代田区
D1に0000-00-0000

に移動されるようにしたいです。
これは[ヤマダタロウ]の文字列、〒、TEL:、のカットを行ったうえで移動させる必要があります。
何か方法があれば教えていただけると幸いです。

Aベストアンサー

おそらくできないと思いますが、面倒ですが次のやり方で回避はできないでしょうか。
一旦任意のセルへ貼付ける。
次にその貼り付けたデータをコピー、貼り付けたいセルを指定して「形式を選択して貼付け」→一番下の「行列を入れ替える」にチェックをいれ、OK。でいかかでしょうか。

QVBAで、[.FoundFiles.count]で取得した値の変数Cへの渡し方

VBAで、[.FoundFiles.count]で取得した値を
C=.FoundFiles.count(理想)
としたいです。そして以下のコードのFor文の.FoundFiles.countをCとしたいのですが、思うようにいきません。その方法を教えて頂きたいのです。宜しくお願い致します。
With Application.FileSearch
.LookIn = largept
.Filename = "*.txt"

If .Execute > 0 Then

  For i = 1 to .FoundFiles.Count
    ...
    処理
    ...
  Next i

Else
End If
End With

Aベストアンサー

#1です。

プロシージャ内での変数はプロシージャ内でしか有効ではありません。

Sub test1()
  c = 1 'この c と
End Sub

Sub test2()
  MsgBox c 'この c は全然別のもの
End Sub

今回の例でどうしても分けたいなら、FoundFilesオブジェクトを引数として渡すとか。

Sub Test()
 With Application.FileSearch
  '.LookIn = largept
  .LookIn = "C:\My Documents"
  .Filename = "*.txt"
   If .Execute() > 0 Then
     Call AAAA(.FoundFiles)
   Else
     MsgBox "ファイルはありません"
   End If
 End With
End Sub
'-----------------------------------------------
Private Sub AAAA(c As FoundFiles)
 For i = 1 To c.Count
   '// 処理
   MsgBox c(i)
 Next i
End Sub

#1です。

プロシージャ内での変数はプロシージャ内でしか有効ではありません。

Sub test1()
  c = 1 'この c と
End Sub

Sub test2()
  MsgBox c 'この c は全然別のもの
End Sub

今回の例でどうしても分けたいなら、FoundFilesオブジェクトを引数として渡すとか。

Sub Test()
 With Application.FileSearch
  '.LookIn = largept
  .LookIn = "C:\My Documents"
  .Filename = "*.txt"
   If .Execute() > 0 Then
     Call AAAA(.FoundFiles)
   Else
   ...続きを読む

Q*.JPGで保存できない

MICROSOFT PHOTO EDITORで*.BMPの画像を*.JPGに変換して保存しようとしても変換の欄にJPGが出てこない。又関連があるのか分かりませんが、Windows付属のペイントで試みてもJPG変換が出てこない。以前は出来た記憶があるのですが何かの拍子でこうなってしまったみたいです。

Aベストアンサー

OFFICEのセットアップで標準セットアップしませんでしたか。
フルオプションで実施すると表示できます。
方法
OFFICEのCDを入れる
追加/削除で足りないものを入れる
がんばって下さい。


このカテゴリの人気Q&Aランキング

おすすめ情報