エクセルの関数を教えて下さい

このQ&Aのポイント
  • エクセルの関数を教えて下さい。エクセルの関数が思いつかないのでどなたか教えて頂けませんでしょうか。
  • エクセルの指示数とセルの合計数に基づいて表示させたい値を計算する関数を作成したいです。
  • 関数の条件は4つあり、それぞれ異なる計算方法があります。
回答を見る
  • ベストアンサー

エクセルの関数を教えて下さい

エクセルの関数が思いつかないのでどなたか教えて頂けませんでしょうか 書きたい関数は一つなんですけど、いくつかの条件があるんです。 1つめの条件 指示数がα セルA1からセルA5までの中に数字があればその合計数からαを引く 但し、表示させたい数字はα 数字を入れるとこんな感じになります 【指示数は20 セルA1からセルA5までの合計数は30 その場合表示させたいのは20】 2つめの条件 指示数は20 セルA1からセルA5までに数字がなければA6の数字からαを引く ただし表示させるのはα 【指示数は20 セルA1からセルA5までの合計数は0 セル6には30ある その場合表示させたいのは20】 3つめの条件 指示数はα セルA1からセルA5までの合計数がαより小さい場合にはセルA6の数字から残りの数を引く その場合表示させたいのは セル1からセル5の合計数からαを引いた数とその残りの数 【指示数は20 セルA1からセルA5の合計数は12 セルA6は20 その場合表示させたいのは 12と8】 4つめの条件 指示数はα セルA1からセルA5の合計数を足した数よりも、A6の数字よりもαが大きい その場合表示させたいのは セルA1からセルA5の合計数とA6の数からαを引いた数 【指示数は20 セルA1からセルA5までの合計が3 A6の数は6 その場合表示させたいのは11】 こんな4つの条件を兼ね揃えた関数なんてありますでしょうか? 1つの関数ではなく 条件1がダメなら条件2 条件2がダメなら条件3 という様に次々と計算していく様な連続した関数でも構いません。 分かりにくい表現だとは思いますが どなたか知恵を貸して頂けませんでしょうか 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6630/9393)
回答No.1

3番目の表示 >その場合表示させたいのは 12と8 これはどうするつもりでしょう? 1セル内に表示したいんだったら、文字列として結合することになりますし、それぞれ数値として扱いたいんだったら、別セルに分けるほかありません。 それをどうするかが決まれば、基本的にはif関数です。 =if(条件1, 計算式1, if(条件2, 計算式2, if(条件3, 計算式3, if(条件4, 計算式4, "" ) ) ) ) 計算式3 は、concatenate(text(計算式3の1,"#"), "と", text(計算式3の2,"#")) のように、それぞれ計算して文字列結合します。 もし複数セルに分けるんだったら、それぞれのセルで =if(条件1, 計算式1, if(条件2, 計算式2, if(条件3, 計算式3の1, if(条件4, 計算式4, "" ) ) ) ) =if(条件3, 計算式3の2, "") のように書けば良いでしょう。

y-suka
質問者

補足

早速の回答ありがとうございます。 別々でも構わないのですが できればA1からA5までを使った際の数、A6を使った際の数の2つのセルだけで表示させたいのです。 条件1にセル一つ 条件2にセル一つ・・・というやり方はちょっと出来ません。 それでも可能でしょうか? また、簡単に関数・計算式を書いて下さっていますが関数や計算式を勉強したこともない為もう少し分かりやすく教えて頂きたいです。 分かりにくい質問を投げかけておいて勝手を言って申し訳ありません。 下に具体的な例をあげさせて頂きます。 ********    A   B(α)   C(表示させたい数) 1  12  20     20 2   3 3   2 4  5 5  16 6  3 上記のような場合にはA1からA5までの合計数が20より大きいので表示させたい数は20 ******    A   B(α)   C(表示させたい数) 1  0   20     20 2  0 3  0 4  0 5  0 6  30 上記のような場合にはA6の数字がαより大きいので表示させる数=α ここで重要なのは「A1からA6まで」ではなく「A1からA5に数字がなかったからA6を参照する」という点です。 *******    A   B(α)   C(表示させたい数) 1  0   20     5と15 2  2 3  0 4  3 5  0 6  30 上記のような場合にはA1からA5までの数がαよりも小さいのでその合計数とA6の数から(α-A1からA5までの合計数)を引いた数を表示させたいです。「A1からA5だけでは足りなかったのでA6を参照する」といった具合です。 *******    A   B(α)   C(表示させたい数) 1  0   20     5と2 2  2 3  0 4  3 5  0 6  2 上記のような場合にはA1からA5までの合計数がαよりも小さいので合計数を、また、A6の数を足してもαよりも小さいのでA6の数を表示させたいです。 「A1からA5でも足りず、A6を参照しても足りないのでそれぞれの数を表示させる」といった具合です。 上記4条件を満たした関数というか計算式はありますでしょうか…

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

通りがかりで申し訳ございません、少し説明を補足してください A1~A5セルに ランダムな数字が入っている A6セルに別の数字が入っている。 仮に B1にαの数字が入っている とします。 第一条件 もし Countif巻関数で B1と同じ値が A1~A5セルに一つ以上あれば B1 >セルA1からセルA5までの中に数字があればその合計数からαを引く この部分が不明 引いてどうするのでしょうか? 第二条件 もし Countif関数で B1と同じ値が A1~A5セルになければ 0ならば B1 >セルA1からセルA5までに数字がなければA6の数字からαを引く この部分が不明。 第三条件 SIUM(A1:A5)<B1 ならば ? >セルA6の数字から残りの数を引く  この部分が不明 >セル1からセル5の合計数からαを引いた数 は Sum(A1:A5)-B1 と ”その残りの数"? 第四条件 それ以外は(でよいのでしょうか) SUM(A1:A5)+A6-B1 ? IF文を連続して記入すれば十分できますが 求めてい答えが ?です。 列と行 を提示して補足説明されたほうが良いです。 仮に    A  B            C 1 10 20(αの値が入ってる) C1セルに希望する値を表示したい 2 20 3 30 4 40 5 50 6 80 こんな形で説明できないでしょうか

y-suka
質問者

補足

回答ありがとうございます。 分かりにくくてどうも申し訳ないです。 初めから表で表せばよかったのですが、すみません ********    A   B(α)   C(表示させたい数) 1  12  20     20 2   3 3   2 4  5 5  16 6  3 上記のような場合にはA1からA5までの合計数が20より大きいので表示させたい数は20 ******    A   B(α)   C(表示させたい数) 1  0   20     20 2  0 3  0 4  0 5  0 6  30 上記のような場合にはA6の数字がαより大きいので表示させる数=α ここで重要なのは「A1からA6まで」ではなく「A1からA5に数字がなかったからA6を参照する」という点です。 *******    A   B(α)   C(表示させたい数) 1  0   20     5と15 2  2 3  0 4  3 5  0 6  30 上記のような場合にはA1からA5までの数がαよりも小さいのでその合計数とA6の数から(α-A1からA5までの合計数)を引いた数を表示させたいです。「A1からA5だけでは足りなかったのでA6を参照する」といった具合です。 *******    A   B(α)   C(表示させたい数) 1  0   20     5と2 2  2 3  0 4  3 5  0 6  2 上記のような場合にはA1からA5までの合計数がαよりも小さいので合計数を、また、A6の数を足してもαよりも小さいのでA6の数を表示させたいです。 「A1からA5でも足りず、A6を参照しても足りないのでそれぞれの数を表示させる」といった具合です。 上記4条件を満たした関数というか計算式はありますでしょうか…

関連するQ&A

  • エクセルの関数についての質問です

    エクセル2010で A1のセルに「○」が入力されると +3 A2・A3・A4 のセルはどこか一箇所にでも○が入れば、1を足します。 二箇所、三箇所に入っても 1しか足しません。 その合計数をBの列に表示させるようにしたいのです。 Bの1~4のセルは結合されています。 すべてに○が入った場合は、B列の数字は 3+1=4 A1にしか○が入らなかった場合のB列の数字は3になります。 3+0=3   A   B   1 ○ 2 ○ 3     4 4 ○   ○が入れば、3を足す  一箇所にでも入れば1を足す それぞれ別の関数は出来たのですが ふたつの条件の合計を出す式が出来ません。 非表示の列を作って、そこにまずは別々に数字を出して それを合計させる手もあると思うのですが 列を増やしたりせずに、関数だけで、B列に数字が入るようにしたいのです。 うまく伝わりますでしょうか どうぞよろしくお願いします。

  • Excelの関数で困ってます。お願いします!

    1つのセルに入力されている3桁の数字(例えば525)を、隣のセルに、それぞれを分割させて足した数字(例で言えば=5+2+5)の合計(=12)を表示させるような構成の物を作りたいんです。 そこで関数として『=LEFT(A1,1)+MIDB(A1,2,1.5)+RIGHT(A1,1))』と言う設定をし、うまくいっているように思えたのですが、『009』と言う数字に対して#VALUEエラーが出てしまいました。検証してみると、どうやら真ん中のMIDB関数に問題があるようなんですが、そのほかの数字に対しては問題なく動いています。 そもそもMIDB関数のこともよくわからない、本に書いてあった指示のままに使ったのですが、これはどこが間違っているのでしょうか?ちなみに、MIDBの最後のバイト数の定義では1.5ではなく1でも他のはちゃんと動いてくれました。 わかる方がいましたら、よろしくお願いします。

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

    エクセル関数で質問さっせてください。A1~A100間で売り上げ合計金額が入力しています。 A111セルに合計を入れたいのですが1~100まで全部数字が埋まらないと非表示になる関数は どうすればいいですか? 1~100中1個でも空白のセルがあれば合計は非表示にしたいです。 申し訳ございませんが至急ご回答をお願い致します。

  • エクセル関数について

    現在エクセル関数を勉強しだしたところですが、 一つのセルに条件付の計算式をいれたい場合に どうすればよいか困っています。 たとえば、A,B,Cという数値が1行に並んでおり、 A、B、Cの数をカウントして、合計のセルに (Aの数×5)+(Bの数×4)+(Cの数×3) という答えを関数で出したい場合はどうすれば よいのでしょうか? 本やヘルプで調べてもいまいちわかりません。 IF関数を使う? 初心者なので詳しく教えていただけたらと 思います。

  • エクセルです。関数で教えて下さい。

    A1のセルの数字が、負の数(マイナス)の場合、A2のセルに”警告!”と表示されるようにするにはどのような関数を書けば良いのでしょうか?(=IF???) 簡単に説明させて頂き恐縮ですが、ご教授をお願い致します。

  • 関数を教えてください

    B1~F1のセルに入力した数字の合計をA1のセルに集計するとします。 Cの列を表示しないとすると、もちろんA1のセルには、 C1に入力してある数字も合計されてしまいますが、 表示しないときはA1の合計に含めない、表示する時はA1の合計に含める という風にしたいのですが、その場合A1の関数を教えて下さい。

  • エクセル関数考えてください!

    ある条件つきの数式を作ろうとしているのですが、頭が混乱してきたので質問させていただきます。 仮定のおはなしですが、 セルA1に数式を入れるとして数字の入る可能性のあるセルがA2とA3の2つだとします。 条件(1)A2とA3共に数字が入らない場合A1は空白 条件(2)A2に数字が入りA3に数字が入らない場合A1=A2+1 条件(3)A2に数字が入らずA3に数字が入る場合A1=A3×2 という条件を満たす数式を考えています。 可能であれば更に 条件(4)A2かA3どちらかに数字が入ればもう片方には数字が入れられない という設定なんてのもできれば最高です。 こんな欲張りな条件満たすことできるのでしょうか? 数式(関数)でお答えいただければ幸いです!!

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

  • エクセルの関数をつかって値をかえしたいです。

    A1からA5までのセルにA(あとB、Cパターンもあり)がいくつかはいってるかを認識し、その範囲の中でAが1個なら評価1、2個なら評価2,3個なら評価3,4個なら評価4,5つなら評価5というような、値をB1からB5を結合したセルに返したいです。 BとCの数によっても、さらに評価が1から5段階を表示させいです。 どのような関数を使えばいいか教えてください。よろしくお願いします。 AからCの表示をAを5、Bを4などに数字に置き換える方法もあれば教えてください。数字の合計のパターンによって値をかえしてもいいです。 うまく説明できないので、?場合は補足しますので どうぞよろしくお願いします。

  • Excelの関数(COUNTIF?)

    A列には1~3000の数字が入っています。 このうち、150以下、150~200、200以上のセルがいくつあるのかカウントするには、どのような関数を使えば良いのでしょうか。 COUNTIFを使うと思うのですが、検索条件にどう表現するのか分からず困っています。

専門家に質問してみよう