• ベストアンサー

エクセルを使って数値を整理していますが、もっと簡単な方法がありますか?

nishi6の回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

補完しているわけですね。A列は1飛びが条件の算式ですね。(確認です) マクロで計算した方が簡単かもしれませんが、今回は算式で計算してみました。 最初に算式を書くだけで、後での変更は多分不要(余りない)でしょう。 捕外が必要かもしれませんが、要件がはっきりしていないので考慮していません。 捕外などがあればマクロのほうが対応しやすいと思います。 A10= 9、C10= 30 A23=22、C23=100 とあり、以下A、C列に飛び飛びの入力があるとします。 最後にデータが入力されている行を例として750行目とします。10行目から750目までが計算可能になります。 算式はこの最終行が変更になれば、修正する必要があります。(その時は2箇所修正して下にコピーです) D10 に =IF(A9<>0,C9,D9) E10 に =INDIRECT("C"&MIN(IF(C10:$C$750<>"",ROW(C10:$C$750))))       これは配列数式なので、Ctrl+Shift+Enterで登録します。 F10 に =IF(A9<>0,A9,F9) G10 に =INDIRECT("A"&MIN(IF($C10:C$750<>"",ROW($C10:C$750))))       これは配列数式なので、Ctrl+Shift+Enterで登録します。 H10 に =IF(A10<>0,C10,(E10-D10)/(G10-F10)+H9) D10:H10 をコピーして、D11:D750 に貼り付けます。 これでA、C列に入力があれば計算されます。A、C列に入力すれば再計算されます。 算式は少なくできると思いますが、ますます分かりづらくなるので分割しています。 見苦しければ、D~G列を非表示にしてしまいます。補完結果はH列に出ます。 ご参考に。

abouka
質問者

補足

nishi6様 教えていただきありがとうございます。 早速指示どおりに、セルに数式をインプットしました。 D10~H10に、nishi6様の回答ページの数式をコピーして各セルに貼り付けました。ただし、E10とG10は Ctrl+Shift+Enter で登録したつもりです。 1行下にでる数値は以下のとおりです。 30 100 9 22 0 となり、H列がゼロとなりました。 なお、(セル;E11)と(セル;G11)のセル左上にエラーマークが付いて(XPですので)、内容は、『数式は隣接したセルを使用しません』と出ています。 私のセルへの貼り付け、または登録ミスでしょうか? 確認事項;A10=9,C10=30;A23=22,C23=100です。 A列は上から750までの数値が入っており、A751=750、C751には3000と数値を 入れてあります。 お忙しいと思いますが、よろしくご指導ください。

関連するQ&A

  • Excel 数値比較について

    A列に基準値、B列に結果の数値、C列にその差異の数値を表示したい場合は、どんな数式?関数?を利用すればいいですか。 例えば, セルA1に10、B1に8の場合、C1に2という数値を表したい。 セルA1に5、B1に10の場合、C1に-5という数値を表したい。 お願いします。

  • エクセル 数式に強制的に数値をいれたものだけ取り出す

    A列に数式を入れて計算していますが、微調整のため強制的に入れた数値のみ入れている箇所があります。 数式を変更したいのですが、強制的に入れた数値は残すため別の列に一時的にコピーしたいのです。 行が2000くらいあるので、セル毎に式か数値かを確認するのは、時間的に無理です。 見た目分からないので、良い方法があれば教えてください。

  • Excelでグループ化し、グループ名を数値で返すには?

    Excelで次の解を求める時、いいアイディアはないでしょうか。 1) セルをグループ化します。 2) 次にグループ化したまとまりごとに、 左列に数値を順に返します。 つまり以下のようなセルがあるとき : A B 1 : 空白 442565 2 : 空白 442565 3 : 空白 332211 4 : 空白 332211 5 : 空白 332211 ↓ : A B 1 : 1 442565 2 : 1 442565 3 : 2 332211 4 : 2 332211 5 : 2 332211 つまりBが同じ数値である セル同士をワングループとして、 そのグループを順列に数値でA列に 区分したいのです。 A列が何セルでグループ化されるかは ランダムです。B列において2つのセルが 同じ数値を共有している場合もありますし、 100のセルが同じ数値を共有しているもあります。 データ総数はおよそ9000列ほどになります。 集計機能を用いた方がよいでしょうか。 関数の他にアイディアがあれば、教えて 頂けるととても助かります。 宜しくお願い致します。

  • EXCELで式での空白セルの挿入方法

    A列は空白行で、B列は数値が入っていたり空白だったりする行で構成されています。 またC列からD列までの全ての行には数値が入っています。 この時A列に条件付き数式を入力して、B列が空白でなければB列に空白セルを挿入して現B列からD列を右にシフトさせたいのですが、数式で可能でしょうか? 数式で可能ならばA列に入力する式を、不可能なら参考のためVBAでの記述をお教え頂けると嬉しいです。(VBAはあまり理解しておりませんが。) 例 【処理前】 A列 B列 C列 D列 E列     22   33  44          55  66     77   88  99         100  101 【処理後】 A列 B列 C列 D列 E列 式       22  33  44 式       55  66 式       77  88  99 式      100  101 2万行の処理を1回のみしたいです。 宜しくお願いします。

  • エクセル関数で・・・

    A列の1行目から45行目までに、”1”か”×”を入力するか、空白があります。 B列の1行目から45行目までに、様々な数値、若しくは空白が入ります。 この時、A列が”×”の行でB列が空白でないセルをカウントする数式を教えて下さい。   A  B 1 ×  20 2 × 3 1  30 4 ×  5 1  20 6 7 1  30 8 ×  10・・・・ こんな感じで、A列が”×”でB列が空白でないセルは『2』と導きたいのです。 分かりにくい説明で申し訳ありませんが、宜しくお願いいたします。

  • エクセルの使用方法

    エクセルの使用方法で質問があります。 1.あるA列10行に数式が入力されています。その数式はA列9行+B列10行の値です。B列10行に数値を入力する時、C列10行には日付を入力しています。このままだと、B列、C列に何も入力されていない行でも、A列だけは、延々と数値が表示されてしいます。できれば、B or C列に入力していない時は、A列の表示を空白にすることはできないでしょうか? 2.上記のようにA列には、数値が入っており、何行目まで数値があるのかは、B列、C列次第です。この状態で、A列の一番下の行のセルの数値を、固定したセルに表示させる方法はないでしょうか? ただこのシートは複数個作成し、あるシートでは、10行目が一番下だったり、あるシートでは25行目が一番下だったりする条件になります。 またB列にはマイナスの数値も入るので必ずしも行が増える程、A列の値が大きいわけではありません。 3.C列の日付ですが、たとえば「2009/8/8」と入力したら、「2008.8.8」と半角で表示するようにしてるのですが、これを「2008.08.08」と半角で表示する方法はないでしょうか? 4.エクセルで時々、あるセルの左上端が緑色になり<!>と表示されています。この<!>を押すと、いろいろコメントがでてくるのですが、エラーを無視するを選ぶと、消えます。一体これは何なんでしょうか? 出ないようにする方法はないでしょうか? 以上の件、どれでもよいのでご回答くださいますようお願います。

  • Excelの入力式について

    Excelの入力式について教えてください。 たとえば、A1セル~F1セルに数値が入っていて、G1セルA1+B1の値、H列にC1+D1の値 I列にE1+F1の値としたい場合、 G1セルに数式を入れてH列にコピーするとB1+C1になってしまいます。 上手くやる方法はないのでしょうか。 1列ずつわざわざ空白列を作るのは嫌ですし、たくさんあったら数式を打ち込むのも大変です。。。

  • エクセルCOUNT関数について

    こんばんは、COUNT関数についてお伺いします。 たとえばA列に関数(SUMなど)の数式が入っています。そのA列を範囲指定してCOUNT関数をしたところ、数値が現れているセルのみをカウントしたいのですが、空白の数式が入っているセルもカウントしてしまいます。数値を示しているセルのみをカウントしたいのですが、うまく行きません。 どうすれば解決できますか、教えていただけないでしょうか。

  • Excelで数値の引用?の方法がわかりません

    エクセルでの数値の引用をしたいのですができません。 具体例をあげますと、 まずA1のセルには乱数を発生させる数式を書きます。(例えば1~3の数値がでる) そしてB1のセルに「りんご」B2に「みかん」B3に「ぶどう」と入力します。 このとき、C1のセルにA1で1がでたら「りんご」を、3がでたら「ぶどう」と表示されるようにしたいです。 数式でC1のセルに「=B?」と入力し、この?の部分をA1のセルの計算結果と対応させることが出来れば出来るんじゃないかと考えたのですが、その肝心の対応させる方法がわかりません。 初歩的な質問で申し訳ありませんが、どなたかやり方がわかる方がいましたらご教授お願いします。

  • エクセル(2003)で、空白(数値が0)のセルがある場合、そのセルを除

    エクセル(2003)で、空白(数値が0)のセルがある場合、そのセルを除外して計算結果をだしたいのですが、うまくいきません。今入っている数式は次のようなものです。=ROUND(D25*F25*H25,0) この数式で空白が生まれる可能性があるのはD列です。何かいい方法はないでしょうか。