人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの詳しい方へ
下記の構文はどういう計算式でしょうか?
わかりやすく教えて頂けますか?
ちなみに、栗田ファイル、瀬見ファイル、期間保証ファイルが存在します。

=IF(ISERROR(IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4))))),"",IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4)))))

●質問者: rrr3
●カテゴリ:コンピュータ インターネット
✍キーワード:D4 エクセル ファイル 保証 存在
○ 状態 :終了
└ 回答数 : 5/7件

▽最新の回答へ

1 ● りくっち
●0ポイント

セルI4の値が

「栗田」だったらD4/V4

「アフィリ」だったらD4/C4

「瀬見」だったらD4/C4

「期間保障」だったらD4/C4

それ以外の場合は文字列0(空白)を返します。


ただ、私だったらもう少し違う式を書くと思います。

http://www.moug.net/


2 ● きゃづみぃ
●0ポイント

ISERROR

http://www.relief.jp/itnote/archives/000426.php

使用した関数でエラーが発生したかどうかを調べる関数です。

V4が 0の場合、0で割り算をすると エラーが発生します。

このエラーの時とそうでないときの処理を わけてやってるだけですね。

エラーをチェック

ISERROR(IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4)))))

で エラーだったら "" を セットする。

それで なかったら 以下とする。

IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4))))


あとは、簡単なIF文です。

IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4))))

I4が 栗田なら D4/V4を計算

I4が アフィリなら D4/C4を計算

I4が 瀬見なら D4/C4を計算

I4が 期間保証なら D4/C4を計算

I4が 上記にならないとき FALSEを表示

ということを やってます。


3 ● DickY
●0ポイント

I4のセルが、

"栗田"なら D4の値÷V4の値 を表示

"アフィリ"か"瀬見"なら D4の値÷C4の値 を表示

ただし、割り算ができないとき(*)は、何も表示しない

となります

「割り算ができないとき」とは、「割り算で使うセルに数字が書かれていないとき」や「ゼロで割ることになるとき」のことです。

http://q.hatena.ne.jp/1150338057(ダミー)


4 ● ootatmt
●0ポイント

http://asugi23.web.infoseek.co.jp/excel/soft33.htm


I4 の内容が、

期間保障 なら D4/C4 の結果を表示

瀬見 なら D4/C4 の結果を表示

アフィリ なら D4/C4 の結果を表示

栗田 なら D4/V4 の結果を表示

上記のどれでもなければ、""(空白)を表示

となります。


5 ● くまいみずき
●100ポイント ベストアンサー

http://q.hatena.ne.jp/list

では、順番に説明してみます。

まず

ISERROR(IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4)))))

を『条件』とします。

次に

IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4))))

を『結果』とします。

すると、質問の関数は

=IF(条件,"",結果)

となります。

つまり、条件の部分が"TRUE"なら空白、"FALSE"なら結果の値を表示します。

では、『条件』とは一体何か、『結果』とは一体何か。といったことに入っていきましょう。


ISERROR(IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4)))))

まず、ISERRORという関数は、セルの内容がエラー値(#N/Aや#VALUE!など)の場合には、"TRUE"を返し、それ以外なら"FALSE"を返します。

エラー値の判定は()内の部分、つまり

IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4))))

になります。

この条件式では何をしているか。というのを細かく見ていきます。


IF(I4="栗田",D4/V4,IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4))))

まず、最初の部分では、そのシートのI4セルに『栗田』と入っている場合、「D4セルの数値÷V4セルの数値」という計算を行います。

もし、『栗田』と入っていない場合は、太字部分の処理になります。

太字部分のみを取り出しますと

IF(I4="アフィリ",D4/C4,IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4)))

となります。

ここで再びIF文により分かれます。

I4セルに『アフィリ』と入っている場合、「D4セルの数値÷C4セルの数値」という計算を行います。

もし、『アフィリ』と入っていない場合は、太字部分の処理になります。

IF(I4="瀬見",D4/C4,IF(I4="期間保証",D4/C4))

同じように取り出しますと、今度はI4セルに『瀬見』と入っている場合、「D4セルの数値÷C4セルの数値」という計算を行います。

もし、『瀬見』と入っていない場合は、太字部分の処理になります。

最後に太字部分は、I4セルに『期間保証』と入っている場合、「D4セルの数値÷C4セルの数値」という計算を行います。

それ以外は何も行いません。


条件式の部分をまとめますと、このようになります。

ここでエラー値となりうるのは、例えばI4セルに『栗田』と入っているのに、V4セルには何も入力されていない(もしくは『0』になっている)場合などです。

つまり、数値が入るべき場所に何も入力されていなかったり、『0』が入力されていると『エラー値』が返ってきます。

そうすると、『ISERROR関数』では"TRUE"という結果になります。

逆に正しく入力されていれば、"FALSE"という結果になります。


ここで最初に『結果』と置き換えた部分について触れておきます。

実は、上記の

と全く同じ処理を行います。

つまり、最初の条件式では「正しく計算されれば表示し、何かしらのエラー値になったら空白を表示する」という処理を行っているのです。

先ほど触れた通り、「I4セルに『栗田』と入っているのに、V4セルには何も入力されていない」といった場合、エラー値が表示されてしまうので、この条件式を入れることにより、空白に置き換える。といったことをしているのです。



なお、最後になりましたが、この条件式ではファイル関係の処理をしていません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ