- ベストアンサー
セルA1 と セル A4 の数値を直線にするには?
カテゴリーを間違えてしまいました。こちらで再質問させて下さい。 セルA1=10 セルA4=40 という数値が入力されている場合、 セルA2とセルA3それぞれにEXCELの関数を入力し、 A1~A4の区間を直線にするには どのような関数があるのでしょうか? 今回の様な数値の場合、 A1=10 A2=20 A3=30 A4=40 と成りますがEXCEL関数を使用する場合、 A2とA3にはどの様な数式が入るのでしょうか?
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
#2です。なるほどね。確かに私でも#9さんのようにVBAでやります。 任意のセルに「最初の値」があり、そのセルと同じ列で、かつ最初の値 より下に任意の数だけ空欄をあけて、最初の値より大きい「最後の値」 があることを前提にしたVBAマクロを簡単に作ってみました。 Sub FNC_DEF() STA_ROW = Selection.Row STA_DAT = Selection.Value I = 0 Do I = I + 1 Loop While Selection.Offset(I).Value = "" END_ROW = Selection.Offset(I).Row END_DAT = Selection.Offset(I).Value ADD_DEF = (END_DAT - STA_DAT) / (END_ROW - STA_ROW) For J = 1 To I - 1 Selection.Offset(J).Value = STA_DAT + ADD_DEF * J Next J End Sub 上記のコードを「ツール」「マクロ」「VisualBasicEditor」で起動した VBEで「挿入」「標準モジュール」に記入し、「最初の値」にカーソルを あわせて、「ツール」「マクロ」「マクロ」で「FNC_DEF」を実行すれば O.K.・・・のはずです。 一回「最後の値」を探しに行き、その値と間のセルの数を調べてから、 途中を埋める処理を行う、という点がミソです。
その他の回答 (9)
- imogasi
- ベストアンサー率27% (4737/17069)
A列内に2値があるのは前提として、 A1、A4に当たるセルが浮動するのか、1方や両方が固定か書かずして質問するのは無謀。 ーー 浮動しても人間が最初行と最終行を割り出すなら 例えばA1=10、A9=90として A2セルに =A$1+(A$9-A$1)*(ROW()-ROW(A$1))/(ROW(A$9)-ROW(A$1)) A8まで式を複写 結果A1:A9 10 20 30 40 50 60 70 80 90 ===== 後者なら間は空白として、関数では、質問での最初のA1、最終のA4に当たる行を割り出すのも大変 小生ならVBAでやる。
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _) もし良ければVBAの方法も教えて頂け ないでしょうか。 是非宜しくお願い致します。
- kana14
- ベストアンサー率9% (13/140)
No.5です。 範囲が複数かつ可変なので、変数の使用が必要と思うので、マクロ不使用で関数だけではできないと思います。
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _) もし良ければVBAの方法も教えて頂け ないでしょうか。 是非宜しくお願い致します。
- okormazd
- ベストアンサー率50% (1224/2412)
A$1 A$4 A$5 A$8 A$9 A$12 で、等間隔にデータが並んでいるなら、 作業列たとえばB列に、 B1:=A1 B2:=(A4-A1)/(ROW(A4)-ROW(A1))+B1 B3:=(A4-A1)/(ROW(A4)-ROW(A1))+B2 B4:=A4 として、 B1:B4を選択して、下にコピードラッグする。 B列ができたら、これをコピーして、A列に「値」で形式選択貼り付けする。
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _) もし良ければVBAの方法も教えて頂け ないでしょうか。 是非宜しくお願い致します。
- ON-sen
- ベストアンサー率71% (5/7)
一番簡単だと思われるのは A2 A3 のセルに =na() と入力する事です。 入力するとセル表示が #N/A となります。 ここには数値がありませんと言う意味。 グラフの直線も問題なく繋がると思いますよ!
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _)
- kana14
- ベストアンサー率9% (13/140)
行の判定→row() A2→=(A$4-A$1)/(ROW(A$4)-ROW(A$1))+A1 A3→A2の式をコピー→=(A$4-A$1)/(ROW(A$4)-ROW(A$1))+A2 最後の行(→4)と最初の行(→1)に$を付けて絶対参照にすれば、関数を入れたセルの式をコピーすればつながります。
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _)
補足
A$1 A$4 A$5 A$8 A$9 A$12 など以下しばらく 計算式が続く場合全て手作業で変更しなければ 成らないのですよね。何とかコピペで出来る方法 はないでしょうか。 また、セルの間を可変(例えばA1からA8など任意) にする場合、セル番地も自動で変わる方法は無いもの でしょうか。
- dumetella
- ベストアンサー率16% (1/6)
A2 や A3 は空欄のままでいいですよ。今、Excel 搭載のパソコンでないのでチェックできませんので、記憶から回答します。 ツール→オプションを選択し、そのなかから、たしか右のほうのタブ(「グラフ」のタブでしたか?)を選び、プロットの連続ほにゃらら、のチェックボックスをオンにすると、端の値があるだけでその間のグラフを作ってくれます。
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _)
- fifaile
- ベストアンサー率25% (622/2403)
間のセル数が決まってるなら、 A2=(A4-A1)/3+A1 A3=(A4-A1)*2/3+A1 これで。
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _)
補足
A1 A4 A5 A8 A9 A12 など以下しばらく 計算式が続く場合全て手作業で変更しなければ 成らないのですよね。何とかコピペで出来る方法 はないでしょうか。 また、セルの間を可変(例えばA1からA8など任意) にする場合、セル番地も自動で変わる方法は無いもの でしょうか。
- FEX2053
- ベストアンサー率37% (7991/21371)
え? 単なる1/3の点と2/3の点を計算するだけじゃないの?? =(A4-A1)*2/3+A1 =(A4-A1)/3+A1 これで出てきますけど、もっと違う答えを要求してるのかしら。
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _)
補足
A1 A4 A5 A8 A9 A12 など以下しばらく 計算式が続く場合全て手作業で変更しなければ 成らないのですよね。何とかコピペで出来る方法 はないでしょうか。 また、セルの間を可変(例えばA1からA8など任意) にする場合、セル番地も自動で変わる方法は無いもの でしょうか。
単純な回答ですがこんなんでよろしいでしょうか。 A2に =A1+10 A3に =A2+10
お礼
皆様の親切と努力により解決致しました。 ありがとうございます。(_ _)
お礼
!! 久々に驚きです。 「知恵」を使うとこれだけの事ができるのですね。 EXCELは長年使って居ますが、まだまだ全く 「使いこなせて」いないです。 ありがとうございました。(_ _)