こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

エクセルの関数が思いつかないのでどなたか教えて頂けませんでしょうか

書きたい関数は一つなんですけど、いくつかの条件があるんです。

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 という様に次々と計算していく様な連続した関数でも構いません。

分かりにくい表現だとは思いますが どなたか知恵を貸して頂けませんでしょうか

宜しくお願い致します。

投稿日時 - 2011-06-01 18:32:52

QNo.6779361

困ってます

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

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, "")

のように書けば良いでしょう。

投稿日時 - 2011-06-01 20:16:25

補足

早速の回答ありがとうございます。

別々でも構わないのですが
できれば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条件を満たした関数というか計算式はありますでしょうか…

投稿日時 - 2011-06-02 10:49:45

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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
こんな形で説明できないでしょうか

投稿日時 - 2011-06-01 20:44:07

補足

回答ありがとうございます。

分かりにくくてどうも申し訳ないです。
初めから表で表せばよかったのですが、すみません

********

   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条件を満たした関数というか計算式はありますでしょうか…

投稿日時 - 2011-06-02 10:49:36

あなたにオススメの質問