詳細検索

    キャリア・職場このトピを見た人は、こんなトピも見ています
    こんなトピも
    読まれています

    エクセル関数について教えてください

    お気に入り追加
    レス36
    (トピ主0
    Twitterでシェア facebookでシェア LINEでシェア はてなブログでシェア
    blank
    アラフェス落選
    仕事
    関数にしたいことを文章にすると
    『もしA列がMならば、C列-B列』というシンプルなものです。

    工事の予算管理表を作成したいのですが、
    工事種類が2パターンあり、MとPとあります。行には随時色々な工事が打ち込まれ、
    種類もMとPと入り乱れて入力されていきます。

    下記をエクセルと仮定して、確定予算は10万とします。
    (A列)(B列)(C列)
    1 種別  金額  使用可能残高100,000
    2 M   10000  (単純な引き算であれば)=(C1(ここに10万打ち込み)-B2))でよい。
    3 M   20000   (C2-B3)
    4 P   30000   (ここは予算外)
    5 M   40000   (C3-B5)

    ↑わかりにくいですが、Pは予算外のため、引き算の式をコピーしたら残高があわなくなります。
    都度、手打ちでC列を変えて式をずらしたらよいのですが、色々な人が触り、MとPを間違えてしまいます。そのため、Mのときだけ確定予算から金額を引くという式にしたいです。
    わかりやすく教えていただけると助かります。本当に困っています。本日中に書式を完成させないといけないため、お知恵をいただけませんか?

    トピ内ID:8555452704

    これポチに投票しよう!

    ランキング
    • 0 面白い
    • 0 びっくり
    • 0 涙ぽろり
    • 0 エール
    • 0 なるほど

    レス

    レス数36

    レスする
    • レス一覧
    • トピ主のみ (0)
    このトピックはレスの投稿受け付けを終了しました
    • 1
    • 2
    先頭へ 前へ
    1 30  /  36
    次へ 最後尾へ
    並び順:古い順
    全て表示

    =IF($A1="M",$C1-$B1)

    しおりをつける
    blank
    たどん
    これをD列に入れてドラッグすればいい。

    トピ内ID:9773226882

    閉じる× 閉じる×

    未熟者ですが

    しおりをつける
    blank
    エクセル
    エクセル専門のHPで質問されるのがいいでしょうが、
    取り敢えずC2に
    =IF(A2="M",C1-B2,IF(A2<>"M",C1))
    を入力して下にコピーでいいのではないでしょうか。

    トピ内ID:1940374169

    閉じる× 閉じる×

    こう?

    しおりをつける
    blank
    pipi
    =IF(A2="M",C1-B2,C1)

    これをコピーしていくと行番号がずれていきます。C4にはC3と同じ数値が入ってしまいますが、それでよければ。

    トピ内ID:0391400389

    閉じる× 閉じる×

    IF関数

    しおりをつける
    blank
    tt
    IF関数を使います。
    関数の挿入で、IF関数を選び、条件、条件=真の場合の関数、偽の場合の関数を設定すれば、OKです。一つ作れば、あとは、コピーできます。

    トピ内ID:2885284111

    閉じる× 閉じる×

    レスします

    しおりをつける
    blank
    アクア800
    とりあえず私ならこうします。
    C2のセルに
    =if(A2="M",C1-B2,C1)
    そしてそれをCの最後の行までコピーアンドペースト

    解説ですが
    「もしA2がMならば、C1-B2を返し、そうでないならばC1を返す。」
    なのでPは判定していません。
    またトピ主さんの例のC4には1つ上のセルと同じ数値が出ます。

    トピ内ID:8058021765

    閉じる× 閉じる×

    レスします

    しおりをつける
    blank
    えすぷれっそ
    (1)A列、B列はそのまま生かしておき、C列の式は削除。

    (2)表の下部、仮にセルA6として、以下の式を入れます。
    「=SUMIF(A2:A5,"M",B2:B5)」
    ※A列が「M」のものを検索し、Bに入力した金額を合計する式です。
    「P」のものが合計から除外されていることを確認してください。

    (3)セルA7に予算の金額、100,000を入力しておきます。

    (4)セルA8に以下の式を入力します。
    「=A7-A6」

    以上です。
    あくまでも例なので、予算の明細が一定でないことを想定し、
    予算と合計額の欄をシート上部に設定するなど工夫なさってください。

    そしてネットで質問できるなら、もう少し関数を検索するなどしてお勉強しましょう。

    トピ内ID:6186271662

    閉じる× 閉じる×

    IF関数

    しおりをつける
    blank
    のん
    C1セルに100,000 と入力
    C2セルに =IF(A2="M",C1-B2,C1) と入力
    C3セル以降C2セルをコピー

    これで、A列がPの場合、C列のセルの値は変化しません

    どうでしょう?

    トピ内ID:3442216618

    閉じる× 閉じる×

    IF関数と、未使用の列を利用してはどうでしょうか?

    しおりをつける
    blank
    ふき
    未使用の列をD列とします。
    D2に、このような関数を入力して下へコピーします。

    =IF(A2=””,””,IF(A2=M,””,”←予算外。直接入力して下さい”))
    条件1:もしA2のセルが空白なら空白
    条件2:A2にMが入っていれば空白、そうでなければ「←予算外。直接入力してください」を表示>という意味です。


    要は、MとPがごっちゃにならなければいいんですよね?
    でしたら、使い慣れない関数を使うよりも、注意を促す文言を入れる方が、楽だと思いますヨ。

    1 種別  金額  使用可能残高100,000
    2 M   10000  (関数が入っている)
    3 M   20000   ( 〃 )
    4 P   30000   ( 〃 )  ←予算外。直接入力してください。
    5 M   40000   ( 〃 )

    こういう感じで表示されると、わかりやすいのでは?
    あとは、関数がわかる人が今まで通りに式をずらせば。

    関数は便利だけど、複雑にしすぎてしまうとデータが重くなるのと、自分の思っていた計算式でなくなってしまうミスも出ます。
    とりあえずこんな感じで試してみてはいかがでしょう?

    トピ内ID:0248291879

    閉じる× 閉じる×

    IF関数

    しおりをつける
    🐷
    exel
    C2 =IF(A2="M",100000-B2,100000)
    C3 =IF(A3="M",C2-B3,C2)
    後はC3セルをコピペでOK

    PS 残高100,000を別セルに入力して参照するようにすると
    予算が変更したときの対応が楽になります

    トピ内ID:3750880487

    閉じる× 閉じる×

    ところでPの集計はしなくていいんですか?

    しおりをつける
    からすてんぐ
    1.
    D列を計算用セルに使います
    C2に「=C$1-SUM(D$2:D2)」
    D2に「=IF(A2="M",B2,0)」
    と入力して、
    C2を選択、コピー、C3以下に貼り付け
    D2を選択、コピー、D3以下に貼り付け

    2.
    C2に「=IF(A2="P",C1,C1-B2)」
    と入力して、
    C2を選択、コピー、C3以下に貼り付け

    トピ内ID:8871110813

    閉じる× 閉じる×

    こういうのはいかがでしょう?

    しおりをつける
    🙂
    たゆらん1206
    無い頭で考えてみました。

    (A列)(B列)(C列)
    1 種別  金額  使用可能残高
    2          100,000
    3 M   10000
    4 M   20000
    5 P   30000
    6 M   40000

    という風に、C2列目にまず使用可能残高を入れて、
    C3に、<=IF(A3="M",C2-B3,C2)>
    という式を入力する。C4以降はそのままコピー。
    すると、A列がMの場合はB列の金額を引き、それ以外の場合は引き算をすることなく、そのままの状態になります。

    もしかしたら、トピ主さんの思う形ではないかもしれませんが、
    何かの助けになりましたら幸いです☆

    間に合うかな~~(汗)?

    トピ内ID:9597862482

    閉じる× 閉じる×

    こちらではできました。

    しおりをつける
    なつき@元プログラマ
    隠しデータを入力する列を作り(仮にDとして)その列に式を
    入れ込むとできます。E列でもかまいません。また、D列に入力されると困るので、式作成後は非表示にする方がよいでしょう。

    D1:100000 を入力する
    C2の式:=IF(A2="M",D2,"") D2の式:=IF(A2="M",D1-B2,D1)
    C3の式:=IF(A3="M",D3,"") D3の式:=IF(A3="M",D2-B3,D2)

    以降はC3、D3の式をコピーすれば良いです。表示としては以下のようになります。

    種別 金額 使用予算残100000 100000
    M 10000 90000 90000
    P 20000 (空白) 90000
    M 30000 60000 60000
    P 40000 (空白) 60000
    M 50000 10000 10000

    トピ内ID:6991720933

    閉じる× 閉じる×

    if文

    しおりをつける
    blank
    縷縷家
    =if(A2="M", C1-B2, C1)
    をC2に入力。あとはこれをコピペ。

    一応解説すると、Excelのifは、第一引数に条件を、条件が真であ
    る場合の動作を第二引数に、偽である場合の動作を第三引数に指
    定します。

    トピ主さんが書いたとおりではありませんが、複数行にわたって
    A列にM以外の値が入っている処理を簡潔には行えないと思います。

    簡単な方法があれば私も教えていただきたいと思います。

    トピ内ID:0461425282

    閉じる× 閉じる×

    sumif

    しおりをつける
    blank
    ss
    やり方はたくさんあるけど。

    sumif関数使ったら。

    トピ内ID:2872433770

    閉じる× 閉じる×

    =IF(A2="M",C1-B2,C1)

    しおりをつける
    blank
    大黒柱のパパ
    > 関数にしたいことを文章にすると
    > 『もしA列がMならば、C列-B列』というシンプルなものです。

    その命題(文章)は、シンプルすぎて間違っています。

    もしA列がMでないならば、どうするのかを考えると答えが見えてきます。
    正しい命題は、

    『もしA列がMならば、一つ前の行のC列-同行のB列、
    もしそうでなければ、一つ前の行のC列』

    C2に入るべき、その具体的な式は、タイトルの通りです。
    タイトルの式をそのままC2に入れて見てください。

    C2にタイトルの計算式を入れて、同じ式をC2以下にコピーすると
    C2から上から順に
    =IF(A2="M",C1-B2,C1)
    =IF(A3="M",C2-B3,C2)
    =IF(A4="M",C3-B4,C3)
    =IF(A5="M",C4-B5,C4)

    実際の計算結果は、C2から上から順に
    90000
    70000
    70000
    30000
    となります。

    トピ内ID:0491164114

    閉じる× 閉じる×

    関数

    しおりをつける
    blank
    おっさん
    =IF(A1="M",C1-B1,C1)

    IF関数です。条件、条件が満たされていた場合の計算、満たされていない場合の計算の順番です。

    トピ内ID:8678295319

    閉じる× 閉じる×

    レスします

    しおりをつける
    🐱
    猫だるま
    とりあえず、簡単に

    =IF(A1="M",C1-B1,"予算外")

    もしA列に入る文字があくまでもMかPだけで空欄や他の文字は一切ないという条件であれば上記の式で良いと思います。

    「P」の予算外は「予算外」という文字を表示するなら上記の式ですが、例えば空欄にするとか「0」にするというなら、上記の式の「"予算外"」というところを単純に「0」と入力するか「""」を入力します。

    もしA列にM、P以外の文字も入るというなら、更にIFの式を加えるのですが・・・

    トピ内ID:0113946635

    閉じる× 閉じる×

    訂正させてください

    しおりをつける
    😣
    おっさん
    =IF(A2="M",C1-B2,C1)
    A列がMならば、C列の1行上の数値から隣のB列の数値を引く、そうではなければC列の1行上の数値をそのまま引き継ぐ。

    1回目のレスした際質問をちゃんと読みませんでした。申し訳ありませんでした

    トピ内ID:8678295319

    閉じる× 閉じる×

    IF関数

    しおりをつける
    🐷
    とん
    の使い方はわかりますか?

    予算がどんどん引かれて減っていく一方というなら

    2段目だけ=IF(A2="M",C1-B2,"")
    3段目以降はc3=IF(A3="M",MIN($C$1:C2)-B3,"")
    以下ドラッグ
    で行けると思いますよ。

    トピ内ID:3789250904

    閉じる× 閉じる×

    私だったらフォーマットから変えます

    しおりをつける
    blank
    ほとんど初心者ですがエクセルで入力の仕事をしています

    私がそのシートを作成するのであれば こういうフォーマットにします。
    (A列)   (B列)   (C列)
    1.作業Mの金額 作業Pの金額 100000

    トピ主さんの例に倣うと

    2. 10000          90000
    3. 20000          70000
    4. 30000 70000
    5. 40000 30000

    難しい関数式は分かりませんが これでできるはずです。
    MとPと欄を間違えた人がいたとしても 修正も簡単ですよ。
    ご検討下さい

    Aのセルに作業Mの金額 Bのセルに作業Pの金額
    引き算は全て 残高のCのセルからAのセルだけをマイナスするようにすれば
    OKということです

    図が崩れそうなので書き足しました


    トピ内ID:4203044192

    閉じる× 閉じる×

    少し書式を変えますが...

    しおりをつける
    🐶
    わんわん
    以下の様に書式を設定した場合の式の例を参考にして下さい。

    列A     列B       列C     列D
    行1  種別     金額       残高     備考
    行2  -        0  100,000
    行3  M   10,000   90,000
    行4  P   20,000   90,000    予算外
    行5  M   30,000   60,000

    列Cの行3(セルC3)に下記の式を入れます。
    =IF(A3="M",(C2-B3),C2)  この結果、90,000と表示されます。
    下のセルにはこの式をコピーして下さい。

    列Dの行3(セルD3)に下記の式を入れます。
    =IF(A3="M","","予算外")  この結果、空白が表示されます。
    下のセルにはこの式をコピーして下さい。
    セルD4には予算外と表示されます。

    なお、列Aに入力する文字が全角、半角かによって ="M" か ="M" と使い分ける必要が
    ありますのでどちらかに固定して下さい。

    トピ内ID:9956930474

    閉じる× 閉じる×

    ど素人ですが

    しおりをつける
    blank
    おばちゃん
    こんばんは。
    古臭い零細企業で事務っぽいことやってるおばちゃんです。

    よくわかりませんが、予算(残高?)をとりあえずC1に入れて、あとはA2からスタートしたとすると、C2に

    =IF($A2="M",C1-$B2,$B2)

    と入れて、ビロビロビロ~ンとコピーすればうまくいきませんか?

    トピ内ID:7038127411

    閉じる× 閉じる×

    日付が変わるまでで間に合うなら…

    しおりをつける
    blank
    とん
    D列以降の好きな列に下記の式を入れて下さい。
    一番上だけ打ち込んだら、下の方へはコピペです。

    =IF(A1="M",C1-B1,"")

    トピ内ID:6517711006

    閉じる× 閉じる×

    こんなのはいかがでしょう?

    しおりをつける
    🙂
    たゆらん1206
    なんだか反映されないので、もう一度

    (A列)(B列)(C列)
    1 種別  金額  使用可能残高
    2         100,000
    3 M   10000
    4 M   20000
    5 P   30000
    6 M   40000

    ↑のように、2行目のC列に最初の残高を入力
    で、C3に =IF(A3="M",C2-B3,C2) と式を入力。
    C4以降はコピー。

    こうすると、A列がMの場合はB列の金額を引いた結果を、
    M以外の場合は上の行の金額をそのまま表示する形になります。

    トピ主さんの考えたものとは違うかもしれませんが、
    何かお役に立てれば幸いです。

    トピ内ID:9597862482

    閉じる× 閉じる×

    もう一列「確定予算」列を作りましょう

    しおりをつける
    😀
    がんばって
    もう締め切られちゃいましたか?

    まだでしたら、以下でどうでしょう。
    (A)   (B)  (C)  (D)
    (1) 種別   金額  確定予算 残高余地
    (2) M   10000   10000   90000
    (3) M   20000   20000   70000
    (4) P   30000     0   70000
    (5) M   40000   40000   30000

    (C)列には、=if(A2="M",B2,0)
    (D)列には、=D1-C2

    これでコピーすればいけるかな。
    見栄えが変わるのがいやなら、C列は隠しておきましょう。

    トピ内ID:0341781568

    閉じる× 閉じる×

    IF関数

    しおりをつける
    blank
    狸の太鼓
    C列に残高が入っていけばいいのですね。
    C1セルに100,000が入力してあるとして、C2セルに次の数式を入力します。
    =IF(A2="M",C1-B2,C1)

    それから、C2セルを選択して下方へドラッグ&コピーします。
    これで、C列に、A列がMのときだけ確定予算残高が表示されるはずです。M以外のときは引き算をせず、残高が変化することはありません。

    IF関数を使用しています。
    =IF(条件…ここではA列にMが入力されているということ【A2="M”】,条件が満たされている場合にすること…ここではC列引くB列【C1-B2】,条件が満たされていない場合にすること…ここではすぐ上のセルの値をそのまま転記する【C1】)
    という作業をするよう設定する関数です。

    トピ内ID:8332457769

    閉じる× 閉じる×

    間に合わないかもですが

    しおりをつける
    blank
    タロー
    C2に

    =IF(A3="M",C2-B3,C2)

    と入れて
    C3以降にコピーすればこと足りるような気がします。

    トピ内ID:6992110443

    閉じる× 閉じる×

    やっつけですが

    しおりをつける
    🐱
    ねこさん
    (A列) (B列) (C列)
    1 種別  金額  使用可能残高
    2           100,000
    3 M   10000   =IF(A3="M",C2-B3,C2)
    4 M   20000   上のセルをコピー
    5 P   30000
    6 M   40000

    C列の数式をコピーすると、
    (A列) (B列) (C列)
    1 種別  金額  使用可能残高
    2           100,000
    3 M   10000    90,000
    4 M   20000    70,000
    5 P   30000    70,000
    6 M   40000    30,000  となるはず。

    「もしA列がMなら残高から金額を引き、違うなら残高を表示しなさい。」という関数ですが
    いかがでしょう。

    関数を壊されないようにC列のセルをロックすると良いです。

    トピ内ID:1851040437

    閉じる× 閉じる×

    IF関数とMIN関数で

    しおりをつける
    blank
    トリートメント
    二種類作りました

    ・M以外のとき0を表示する場合
    セルC2に
    =IF(A2="M",MIN($C$1:C1)-B2,0)

    ・M以外の時、使用可能残高を繰り越す場合
    セルC2に
    =IF(A2="M",MIN($C$1:C1)-B2,MIN($C$1:C1))

    上の式を貼り付けて、下にドラッグしてコピーしてください

    これで計算できると思います。

    トピ内ID:3969949555

    閉じる× 閉じる×

    IF関数

    しおりをつける
    blank
    tt
    IF関数を使います。
    関数の挿入をクリックし、IF関数を選択
    条件式(例えば B2=M)条件式が"真"のときの計算式、"偽”のときの
    計算式 をそれぞれ設定します。
    あとは、コピーしてOKです。

    トピ内ID:2885284111

    閉じる× 閉じる×
    • 1
    • 2
    先頭へ 前へ
    1 30  /  36
    次へ 最後尾へ
    並び順:古い順
    全て表示
    • レス一覧
    • トピ主のみ (0)

    あなたも書いてみませんか?

    • 他人への誹謗中傷は禁止しているので安心
    • 不愉快・いかがわしい表現掲載されません
    • 匿名で楽しめるので、特定されません
    [詳しいルールを確認する]