[[20060206203132]] 『IF関数の優先順位?』(Nori) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IF関数の優先順位?』(Nori)

また、アドバイスをお願いします。

    A  B  C  D  E   F    M  N
 1  ● 1月 1月 2月 3月 4月 … 12月 計
 2       100 200 300 400   1200

 上記の表があります。
 IF関数とOR関数を使って計算ているのですが、うまく出来ません。
 (IF関数とOR関数じゃ出来ないのかも知れないけど…)

 表の説明  
 @ B1:M1まで、月が入力されています。
 A C1:M2までは数値が入力されています。
 B A2には『●』を入力しますが、必ず入力されているとは限りません。
 C B2には1月〜12月までの、どれか1つの月を入力します。
 D N2には計算式の合計を表示します。

 やりたい事。
 @ もし、B2に『1月』が入力されたらN2にC1:M2の合計を表示する。A2には入力なし。
 A もし、B2に『2月』が入力されたらN2にC2:M2の合計を表示する。A2には入力なし。
 B もし、A2に『●』が入力されたらN2にC1:M2の合計を表示する。A2には入力なし。
 C もし、B2に『2月』が入力されたらN2にC2:M2の合計を表示する。A2には『●』が入力されている。
 D A2に『●』とB2に『2月』と両方入力されている場合はB2を優先する。
 上の様な事をやりたいのですが、出来るでしょうか?
 説明の意味が分からなければ、聞いて下さい。
 どうぞ、宜しくお願いします。


Nori様/お世話様です。

上記ですが、B1〜M1とB2の書式設定をユーザー定義で、0"月"とした上で、
N2に単純に。。。。

=IF(B2=1,SUM(C1:M2),IF(B2=2,SUM(C2:M2),IF(A2="●",C1:M2,0)))

では駄目でしょうか?(ORとか使いませんが。。。)
       

一応これで、B2の入力の方がA2の入力より優先されますが。。。。。      

上記CとDは同じ意味のように思えますが、意味を取り違えていますか?    

以上、ご確認お願いします。

(By注文書太郎)


注文書太郎様

 ありがとうございます。御指摘ありがとうございます。
 CとDは同じ意味ですが、念の為、記載しておきました。

 それと、私の説明不足で申し訳ないのですが、
 B2には1,2だけではなく、1〜12までの数字を入力したいのです。
 お手数ですが、宜しくお願いします。


 ◆勝手に、解釈して作りました!
 1)●は、A1に入力します!
 2)B1には、「○月」ではなく、数字を入力します!
 3)計算式の合計を表示させるセルは、O2 とします!

 O2=IF(COUNTA(A1:B1)=0,"",IF(B1<>"",SUM(INDIRECT(CHAR(66+B1)&"2:N2")),SUM(C2:N2)))

 ◆こんなことでは、ないでしょうか!?一度試してください!
 (Maron)


 Maron様
 ありがとうございます。
 初めの表では理想通りの事が出来ました。
 申し訳ないですが、追加で教えて頂きたい事があります。

    A   B  C  D   E   F   G   H  I     Q   R
 1  ●  1月 1月 1/13  2月 2/14  3月 3/15 4月 … 12月  計
 2  空白 空白 100 150  200 250   300 350  400    1200 合計表示

 上の表の様にC1:Q1に『D1に1/13』,『F1に2/14』,『H3に3/15』と月の表示以外が入力されている場合、
 『D2の150』,『F2の250』,『H2の350』は計算式の合計に追加しない様にしたいのですが…
 複雑な事ですが、宜しくお願いします。

 使いにくそうですけど…回答がつかないようなので参考までに^^;
 合計するのは2行目のみ。
 B1には合計する最初の月を 3月 のように入力します。
 A1もB1も両方空欄の場合は空欄を返す。
 A1もB1も両方ある場合はB1を優先。   という条件で考えました。

=IF(COUNTA(A1:B1)=0,"",IF(B1<>"",SUMIF(INDIRECT(ADDRESS(1,SUMPRODUCT((C1:Q1=B1)*COLUMN(C1:Q1)))&":Q1"),"*月",INDIRECT(ADDRESS(2,SUMPRODUCT((C1:Q1=B1)*COLUMN(C1:Q1)))&":Q2")),SUMIF(C1:Q1,"*月",C2:Q2)))

 B2にC1からQ1にある文字以外が入力されたら結果がでないので、入力規則で入力する文字を
 制限するか、上記式の最初の部分を =IF(OR(COUNTA(A1:B1)=0,COUNTIF(C1:Q1,B1)=0), 
 等に変更してください。  (かなれっと)


 かなれっと様
 ありがとうございます。
 ですが、皆さんのアドバイスをお待ちしている間に、質問した内容とやりたい事が変わってしまいました。
 皆さんの大切な時間をさいてもらいアドバイスを頂いたのですが、申し訳ありません。
 再度別カキコさせて頂きます。
 注文書太郎様、Maron様、かなれっと様ありがとうございます。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.