エクセルに詳しい方々
こんばんわ。
エクセル2003を使っております。
現在ある課題をもとに関数を組んでおりますが
IFのネストに頭を悩ませております。
強引ではありますが現在組んた数式を貼り付けます。
*要はIF(COUNTIF・・・からの7式をどうにか短くしネストを回避したい
です。
IF(OR(AND(E$150>=$ED$102,E$150<=$ED$103),
AND(E$150>=$ED$104,E$150<=$ED$105),
AND(E$150>=$ED$106,E$150<=$ED$107),
AND(E$150>=$ED$108,E$150<=$ED$109),
AND(E$150>=$ED$110,E$150<=$ED$111),
AND(E$150>=$ED$112,E$150<=$ED$113),
AND(E$150>=$ED$114,E$150<=$ED$115),
AND(E$150>=$ED$116,E$150<=$ED$117),
AND(E$150>=$ED$118,E$150<=$ED$119),
AND(E$150>=$ED$120,E$150<=$ED$121),
AND(E$150>=$ED$122,E$150<=$ED$123),
AND(E$150>=$ED$124,E$150<=$ED$125),
AND(E$150>=$ED$126,E$150<=$ED$127),
AND(E$150>=$ED$128,E$150<=$ED$129),
AND(E$150>=$ED$130,E$150<=$ED$131)),
IF(COUNTIF($E$132:$E$138,E$152),$E$16,
IF(COUNTIF($F$132:$F$138,E$152),$F$16,
IF(COUNTIF($G$132:$G$138,E$152),$G$16,
IF(COUNTIF($H$132:$H$138,E$152),$H$16,
IF(COUNTIF($I$132:$I$138,E$152),$I$16,
IF(COUNTIF($J$132:$J$138,E$152),$J$16,
IF(COUNTIF($K$132:$K$138,E$152),$K$16,"")),"")
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
KURUMITO様、
>AND関数をたくさん使われていますが一つにまとめることができますね。
>AND(E$150>=$ED$102,E$150<=$ED$131)
と仰いますが、ED102~ED131の範囲内の、偶数行のセルの中にED102よりも小さな値のセルや、奇数行のセルの中にED131よりも大きな値のセルが存在していた場合には、その論理式では不具合が生じる恐れがあるのではないでしょうか?
No.3
- 回答日時:
AND関数をたくさん使われていますが一つにまとめることができますね。
全体として次のような式で良いように思います。=IF(AND(E$150>=$ED$102,E$150<=$ED$131),IF(COUNTIF($E$132:$E$138,E$152),$E$16,IF(COUNTIF($F$132:$F$138,E$152),$F$16,IF(COUNTIF($G$132:$G$138,E$152),$G$16,IF(COUNTIF($H$132:$H$138,E$152),$H$16,IF(COUNTIF($I$132:$I$138,E$152),$I$16,IF(COUNTIF($J$132:$J$138,E$152),$J$16,IF(COUNTIF($K$132:$K$138,E$152),$K$16,""))))))),"")
No.2
- 回答日時:
>いただいた式を反映させましたが思った結果が出ませんでした。
大変失礼致しました。
正しくは、
=IF(OR(AND(E$150>=$ED$102,E$150<=$ED$103),AND(E$150>=$ED$104,E$150<=$ED$105),AND(E$150>=$ED$106,E$150<=$ED$107),AND(E$150>=$ED$108,E$150<=$ED$109),AND(E$150>=$ED$110,E$150<=$ED$111),AND(E$150>=$ED$112,E$150<=$ED$113),AND(E$150>=$ED$114,E$150<=$ED$115),AND(E$150>=$ED$116,E$150<=$ED$117),AND(E$150>=$ED$118,E$150<=$ED$119),AND(E$150>=$ED$120,E$150<=$ED$121),AND(E$150>=$ED$122,E$150<=$ED$123),AND(E$150>=$ED$124,E$150<=$ED$125),AND(E$150>=$ED$126,E$150<=$ED$127),AND(E$150>=$ED$128,E$150<=$ED$129),AND(E$150>=$ED$130,E$150<=$ED$131)),IF(COUNTIF($E$132:$K$138,E$152),INDEX($E$16:$K$16,MIN(IF(COUNTIF($E$132:$K$132,E$152),MATCH(E$152,$E$132:$K$132,0),9E+99),IF(COUNTIF($E$133:$K$133,E$152),MATCH(E$152,$E$133:$K$133,0),9E+99),IF(COUNTIF($E$134:$K$134,E$152),MATCH(E$152,$E$134:$K$134,0),9E+99),IF(COUNTIF($E$135:$K$135,E$152),MATCH(E$152,$E$135:$K$135,0),9E+99),IF(COUNTIF($E$136:$K$136,E$152),MATCH(E$152,$E$136:$K$136,0),9E+99),IF(COUNTIF($E$137:$K$137,E$152),MATCH(E$152,$E$137:$K$137,0),9E+99),IF(COUNTIF($E$138:$K$138,E$152),MATCH(E$152,$E$138:$K$138,0),9E+99))),""),"")
とすべきでした。
尚、これではあまりにも長過ぎますし、万一、検索する範囲が広がった場合には、更に長くなってしまいますので、次の様な関数は如何でしょうか?
=IF(SUMPRODUCT(($ED$102:$ED$130<=E$150)*($ED$103:$ED$131>=E$150)*MOD(ROW($ED$103:$ED$131)-ROW($ED$102),2)),IF(COUNTIF($E$132:$K$138,E$152),OFFSET($K$16,,-LOG(SUMPRODUCT(2^(COLUMN($K$132)-COLUMN($E$132:$K$132))*(COUNTIF(OFFSET($E$132:$E$138,,COLUMN($E$132:$K$132)-COLUMN($E$132)),E$152)>0)),2)),""),"")
それから、日付と曜日の関係でしたら、若しかしますと、もっと効率的な方法もあるかも知れませんので、E132~K138にどの様なデータが入力(或いは関数による自動表示)されているのかとか、何故、$ED$102~$ED$131のデータを、「E$150以上であるか否かを判定する際に使用するデータ(奇数行のデータ)」と「E$150以下であるか否かを判定する際に使用するデータ(偶数行のデータ)」を2つ列に分けて入力しないのか、といった詳しい内容を具体的な例を挙げて補足されては如何でしょうか?
後、どうでも良い事ですが、ANo.1を投稿する前に、64までネストが可能なExcel2010を使用して、御質問文にある関数を確認しました処、末尾の「)」の数が足りませんでした。
末尾部分は
$K$16,"")),"")
ではなく、
$K$16,""))))))),"")
ではないでしょうか?
No.1
- 回答日時:
まだまだ改良の余地はありますが、取り敢えずは、叩き台として第1案
=IF(OR(AND(E$150>=$ED$102,E$150<=$ED$103),AND(E$150>=$ED$104,E$150<=$ED$105),AND(E$150>=$ED$106,E$150<=$ED$107),AND(E$150>=$ED$108,E$150<=$ED$109),AND(E$150>=$ED$110,E$150<=$ED$111),AND(E$150>=$ED$112,E$150<=$ED$113),AND(E$150>=$ED$114,E$150<=$ED$115),AND(E$150>=$ED$116,E$150<=$ED$117),AND(E$150>=$ED$118,E$150<=$ED$119),AND(E$150>=$ED$120,E$150<=$ED$121),AND(E$150>=$ED$122,E$150<=$ED$123),AND(E$150>=$ED$124,E$150<=$ED$125),AND(E$150>=$ED$126,E$150<=$ED$127),AND(E$150>=$ED$128,E$150<=$ED$129),AND(E$150>=$ED$130,E$150<=$ED$131)),IF(COUNTIF($E$132:$K$138,E$152),INDEX($16:$16,MIN(IF(COUNTIF($E$132:$K$132,E$152),MATCH(E$152,$E$132:$K$132,0),0),IF(COUNTIF($E$133:$K$133,E$152),MATCH(E$152,$E$133:$K$133,0),0),IF(COUNTIF($E$134:$K$134,E$152),MATCH(E$152,$E$134:$K$134,0),0),IF(COUNTIF($E$135:$K$135,E$152),MATCH(E$152,$E$135:$K$135,0),0),IF(COUNTIF($E$136:$K$136,E$152),MATCH(E$152,$E$136:$K$136,0),0),IF(COUNTIF($E$137:$K$137,E$152),MATCH(E$152,$E$137:$K$137,0),0),IF(COUNTIF($E$138:$K$138,E$152),MATCH(E$152,$E$138:$K$138,0),0))),""),"")
この回答への補足
早速のご回答ありがとうございます。
いただいた式を反映させましたが思った結果が出ませんでした。
すみません。
内容を具体的にお伝えいたします。
ANDの式は具体的に日付を引っ張っております。
E 150が04/02
ED 102が04/01
ED 103が04/05
(AND(E$150>=$ED$102,E$150<=$ED$103)→E150にある04/02は条件に当てはまる。
IF(COUNTIFの式は上記条件に当てはまった場合E132~E138にE152とマッチしてるものがあれば
E16に置き換えなさいというものです。ちなみにE152は曜日です。
IF(COUNTIF($E$132:$E$138,E$152),$E$16→当てはまるとして
結果Aの表示にしたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- 野球 この選手は引退後評価はされると思いますか? 188cm100kg 右投右打 一塁手 MLBドラフト5 2 2022/05/11 09:57
- モテる・モテたい 心因性EDになった方に聞きたい 4 2023/06/30 03:43
- 婚活 EDは結婚するな?でも自分はEDで婚活中 10 2023/07/06 10:32
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- 医学 ED薬まで行かないまでの、精力向上に医学的に効果のあるものはありますか?また、ED薬は心臓に負担がか 5 2022/08/12 16:00
- 浮気・不倫(結婚) 既婚男性 3 2022/06/19 19:03
- その他(病気・怪我・症状) 至急! ED治療薬のシリアスって1人で一回抜いた後に飲んでも、ちゃんと立ちますかね。 数時間時間は空 1 2022/12/29 13:57
- 野球 この選手を獲得できるなら獲得したいですか?(あなたが監督だったら?) ただし来シーズンで35歳になり 3 2022/08/17 08:05
- 物理学 仕事を表すW=Fxのグラフは、縦軸がF、横軸がx、その面積がWになりますが、一様な電場での電位を表す 4 2022/12/30 18:56
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
弥生の青色申告オンライン を初...
-
指定した範囲内のセルが全て入...
-
Excelの使い方について
-
Googleスプレッドシートで合計...
-
決算書作成中でエラーコードKS-...
-
エクセルの消費税 1000円の消費...
-
タックインデックスシール
-
男が新卒で経理の職に就くのは...
-
弥生の青色申告の借方勘定科目...
-
パソコンからL判で印刷する方法
-
バーコードリーダー Excel 連動
-
一太郎2022に古いATOKは使える...
-
弥生の青色申告を利用している...
-
エクセルで
-
エクセルで
-
法人で、会計ソフトを、つかう...
-
仕訳相談できる会計ソフトは、...
-
Excelとキントーンの違いはなん...
-
弥生会計クラウド24と、freeeど...
-
みつも郎で
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンからL判で印刷する方法
-
共有しているエクセルのファイ...
-
弥生の青色申告オンライン を初...
-
タックインデックスシール
-
無料エクセル→PC版エクセル
-
数量・会社ごとに異なる単価表...
-
一太郎2022に古いATOKは使える...
-
みつも郎で
-
男が新卒で経理の職に就くのは...
-
一太郎で封筒の宛名印刷したい...
-
■複式簿記■ スマホでは『複式簿...
-
添付のエクセルの車検証・運転...
-
わかる方教えてください! 今日...
-
Googleスプレッドシートで合計...
-
出金伝票の書き方ですが、 勘定...
-
numbersで累計を計算するには
-
弥生会計オンラインで、バック...
-
弥生の青色申告の借方勘定科目...
-
アンインストールができない。
-
エクセル 背景色のついたセル位...
おすすめ情報