• ベストアンサー

条件をもう一つ追加した関数式

下記の関数式は、『シート=『MMMM-装置一覧』のH列が『公開中』の文字が入っていて、』の条件が入っておりません。 下記の関数式に上記の条件を追加した関数式がわかりません。 もしくは、この関数式では、対応不可なのかもしれません。 何方か、お分かりでしたら、ご教示頂けましたら、大変助かります。 =IFERROR(INDEX('MMMM-装置一覧 '!$E:$E,MATCH(LEFT($B2,6),INDEX('MMMM-装置一覧 '!$A$2:$A$1000,),0)+1),"") 以上 どうぞよろしくお願いします。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (730/1516)
回答No.2

すみません。 =INDEX('MMMM-装置一覧 '!E:E,MATCH(LEFT($B2,6)&"公開中",INDEX('MMMM-装置一覧 '!$A$2:$A$1000&'MMMM-装置一覧 '!$H$2:$H$1000,),0)+1) の方がいいです。 又は =INDEX('MMMM-装置一覧 '!E:E,MATCH(LEFT($B2,6)&"公開中",'MMMM-装置一覧 '!$A$2:$A$1000&'MMMM-装置一覧 '!$H$2:$H$1000,0)+1) 内側のINDEX は配列であることを示すためのもので、省略可能です。 但し、その場合Excel2019 以前は、Ctrl+Shift +Enter で配列数式にする必要があります。

nnirosan
質問者

補足

大変お世話になっております。 早速、ご教示頂きまして、本当に有難うございました。 ご教示頂きました下記の関数式で、正常に抽出する事が出来ました。 =IFERROR(INDEX('ARIM-装置一覧'!E:E,MATCH(LEFT($B2,6)&"公開中",INDEX('ARIM-装置一覧'!$A$2:$A$1000&'ARIM-装置一覧'!$H$2:$H$1000,),0)+1),"") 今回ご教示頂いた関数式をお手本にして、E列に、別のシート(NNNNN-240620)の値の抽出も試し見ましたが、 正常に抽出する関数式を作る事が出来ませんでした。 仕方なく、 抽出させるシートのO列へ、下記数式を挿入し、シート=MMMM-装置一覧のH列『公開中』を書かせてから、 =IFERROR(INDEX('MMMM-装置一覧'!H:H,MATCH(LEFT($B2,6)&"公開中",INDEX('MMMM-装置一覧'!$A$2:$A$1000&'MMMM-装置一覧'!$H$2:$H$1000,),0)+1),"") 抽出させるシートのセルへ以下の関数式を挿入し、抽出させました。 =IF($O2="公開中", IFERROR(INDEX('NNNNN-240620'!$D:$D, MATCH(LEFT($B2,6), INDEX(LEFT('NNNNN-240620'!$A$2:$A$1000,6), 0), 0) + 1), ""), "") これら2つを1つに纏めた関数式で抽出したいのですが、もし差し支えなければご教示頂けましたら大変助かります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • SI299792
  • ベストアンサー率48% (730/1516)
回答No.3

補足の数式だけでは、何をしたいのか解りません。 画像+文章による説明付きで新しい質問を上げていただけますか。

nnirosan
質問者

補足

ご連絡ありがとうございます。 粗末な説明でお願いしてしまい、大変申し訳りませんでした。 今回の質問は締め切りまして、改めて質問をさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。
  • SI299792
  • ベストアンサー率48% (730/1516)
回答No.1

条件は文章(可能ならデータ付き)で説明して下さい。 そうしないと数式から条件とデータを推測しなければならない。かなりの手間です。 画像の様な表で ・今までは、B2の先頭6文字がA列と一致したものを拾う ・条件追加、更にH列が「公開中」のものを拾う でいいですか。 貴方の数式に合わせるなら =INDEX('MMMM-装置一覧 '!E:E,MATCH(TRUE,INDEX('MMMM-装置一覧 '!$A$2:$A$1000&'MMMM-装置一覧 '!$H$2:$H$1000=LEFT($B2,6)&"公開中",),0)+1) 股は =INDEX('MMMM-装置一覧 '!E:E,MATCH(TRUE,'MMMM-装置一覧 '!$A$2:$A$1000&'MMMM-装置一覧 '!$H$2:$H$1000=LEFT($B2,6)&"公開中",0)+1) この方がすっきりしますが、Excel2019 以前は配列数式にする必要があります。 どちらも、1000行位なら問題ありませんが多量に行かあるとレスポンスが悪くなります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 別シートの値から判断して抽出させる関数式について

    大変お世話になっております。今回もEXCELの関数式について、 ご教示頂けましたら、大変助かります。 画面イメージ図の纏め_基本集のシート中は、以下ような構成になっています。 D列=①の関数式を挿入し、MMMM-装置一覧のシートに記載されている装置名を抽出。  ①=IFERROR(INDEX('MMMM-装置一覧'!E:E,MATCH(LEFT($B2,6)&"公開中",INDEX('MMMM-装置一覧'!$A$2:$A$1000&'MMMM-装置一覧'!$H$2:$H$1000,),0)+1),"") E列=②の関数式を挿入し、NNNNN-240620のシートに記載されている装置名を抽出。  ②=IF($O2="公開中", IFERROR(INDEX('NNNNN-240620'!$D:$D, MATCH(LEFT($B2,6), INDEX(LEFT('NNNNN-240620'!$A$2:$A$1000,6), 0), 0) + 1), ""), "") G列=③の関数式を挿入し、纏め_基本集のシートのK列に記載されている装置名を抽出。  ③=IF($O2="公開中", IFERROR($K2, ""), "") O列=④の関数式を挿入し、纏め_基本集のシートのO列へMMMM-装置一覧シートのH列の記載を抽出。  ④=IFERROR(INDEX('MMMM-装置一覧'!H:H,MATCH(LEFT($B2,6)&"公開中",INDEX('MMMM-装置一覧'!$A$2:$A$1000&'MMMM-装置一覧'!$H$2:$H$1000,),0)+1),"") 今現在は、④関数式でMMMM-装置一覧の『公開中』を纏め_基本集のシートのO列へ抽出し、②と③の関数式から装置名を抽出しておりますが、可能でしたら、④は実行せず、②と③の関数式に、MMMM-装置一覧シートのH列が『公開中』の時の装置名を抽出出来る関数式を教えて頂きたいです。

  • 関数 複数条件での検索を【&】を使わない別の方法

    エクセル関数を使って複数の条件を満たしたときの 特定のセルの数値を返す方法が分かりません。 同じような質問が過去にはありました。ご回答の式は =INDEX(C2:C8,MATCH(D2&E2,INDEX(A2:A8&B2:B8,),0))でした。 大半はこれでいけるのですが、1ッ問題が、、式中「&」で数値をつなげてしまうと 下図で「11」-「1」と「1」-「11」が共に「111」となり、おかしなことに なってしまいます。(11-6・1-16も同じことになります) 例を挙げると    A..............B..............C...................D...............E ..........F   1.......11..............1.............100................1...............11...........200 2.......10............ 4..............120...............11...............1...........100 3.........1..............11........... 200..............10...............4............120 4.........3...............5..............500................1...............16..........700 5.........1.............16..............700 6........13..............1..............650 7........11..............6..............800 上のような表のときに D-1に「1」  E-1に「11」という2つの条件を 満たしたときのF列に200を返すということをやりたいのです。 上記にも書きましたが =INDEX(C2:C8,MATCH(D2&E2,INDEX(A2:A8&B2:B8,),0))の式に いろいろ手を加えてみましたが、とても答えが見つかりませんでしたので なにかいい方法がありましたらご伝授ください。 よろしくお願いします。

  • IFERRORについて

    我が家のエクセルは2007です。が、会社エクセル2003です。 下記の内容を家で作成し、うまく出来たのですが、会社で入力しようとしたら、エラーになります。 原因はIFERRORが2003にはないんですよね(>_<) どうしたらよいのでしょうか(>_<)ここまでくるのに、とても時間がかかったのに、、もう頭がまわらないです。。。もっとデータ必要なら、添付します。 (1) =IFERROR(INDEX(Aパターン一覧!$B$3:$K$107,MATCH(P13,Aパターン一覧!$A$3:$A$107,0),MATCH(Q13,Aパターン一覧!$B$2:$K$2,0)),"") (2) =IFERROR(VLOOKUP(G2,$AA$33:$AF$45,IFERROR(MATCH(I2,$AB$33:$AF$33,0),0)+IFERROR(MATCH(I2,$AF$40,0),0),FALSE),"")

  • INDEX関数SMALL関数を使って空白行を詰める

    シート1にINDEX関数SMALL関数を使って空白行を詰める表を作成したのですが詰めた表をシート2に表示することはできないのでしょうか。  =IF(COUNTIF($A4:$A4,0)=0,MAX(D$3:$D3)+1,"")  =IFERROR(INDEX(A:A,MATCH(ROW()-3,$D:$D, )),"")この表をシート2に表示する方法

  • エクセル2003 IFERROR関数がない?

    いつも回答して頂きとても感謝しています。 以前ここで教えてもらった関数を会社で打ち込んだ所、NAMEとなり結果NGとなりました。どこかでスペルが間違っているのかと思い、よく見直したところの所、IFERRORだけ小文字のままでした。IFERRORって2003は対応していないようです。 下の式ですが、IFERRORの箇所を2003でもいける様にして欲しいのですが・・・。宜しくお願い致します。 =IFERROR(SUMPRODUCT(SUMIF(B4:B13,B18:B27,OFFSET(C4:C13,0,MATCH(LEFT(S2,3),{"ABN","×","ABS","×","ABJ","×","ABX"},0)-COUNTIF(B18:B27,"天井交換")))),0)*24

  • エクセル関数について

    A列とB列に氏名を入れてA列にあってB列にないものを取り出す為に=IFERROR(INDEX($A$2:$A$8,SMALL(IF(ISNA(MATCH($A$2:$A$8,$B$2:$B$8,0)),ROW($A$2:$A$8)-1),ROW()-1),1),"")の関数をⅮ列に入れ下にオオートフィルしたのですが、思うように表示されません。  関数が間違っているのか判りません。 何か良い方法はあれば教えてください。

  • match関数とindex関数について

    index関数を次のように用いて、match関数で位置を取りだすことをしたいと考えています。 =index(0/$A$1:A20="休",0) matchは以下の上式を使って、以下のようにします。 =match(1,index(0/$A$1:A20="休",0)) この時、index内において、「休」だけでなく、「祝」も判定したいと考えた場合、上手い式の組み方は考えられるでしょうか。 ご教授願います。

  • 別シートの値を自動入力したい

    大変お世話になっております。  関数式を使って、別シートの値を自動入力させたいのですが、エラーが出てしまいます。 関数式が誤っている事は確かなのですが、どのような式にしたらエラーが出なくなるのか分からず困っております。 お分かりでしたら、ご教示頂けると大変助かります。 やりたい事は、以下の通りになります。 [データ入力]シートのA列に手入力した装置IDの値が、[装置マスタ]シートのE列にあったら、 [データ入力]シートのB列に[装置マスタ]のD列同行の装置名を自動入力する。 [データ入力]シートのC列に[装置マスタ]のB列同行のステーション名を自動入力する。 [データ入力]シートのD列に[装置マスタ]のC列同行のグループ名を自動入力する。 [データ入力]シートのB列、C列、D列に以下の式を入力すると、 値は入力出来ていますが、下記のようなエラーがでます。 =IFERROR(INDEX(装置マスタ!B:E,MATCH(A3,装置マスタ!E:E,0),3),"") =IFERROR(INDEX(装置マスタ!B:E,MATCH(A3,装置マスタ!E:E,0),1),"") =IFERROR(INDEX(装置マスタ!B:E,MATCH(A3,装置マスタ!E:E,0),2),"") 【エラー内容】 1つ以上の循環参照が発生しています。循環参照とは、数式が直接的または間接的に自身のセルを参照している状態を指します。 これにより、計算が正しく行われない可能性があります。 循環参照を削除または変更するか、数式を別のセルに移動して下さい。 【装置マスタのデータ】 ステーション名,グループ名,装置名,装置ID,基準額   B列、    C列、  D列、E列、 F列    高木,Aグループ,掘削装置1,PP0001,10000 高木,Aグループ,掘削装置2,PP0002,10000 高木,Bグループ,掘削装置3,PP0003,10000 田中,Bグループ,掘削装置4,PP0004,10000 田中,Cグループ,掘削装置5,PP0005,50000 田中,Cグループ,掘削装置6,BB0207,20000 今井,Dグループ,掘削装置7,DD0008,10000 今井,Dグループ,掘削装置8,PP0009,10000 今井,Dグループ,掘削装置9,PP0010,20000

  • エクセルの関数について。初心者です。

    シート2のデータで条件に合うものをシート1にコピーしたいのです。 INDEXとMATCH関数をあわせたものを書き込みたいのですが、どのような順番で書いていけばいいのでしょうか?INDEX(Sheet1!$A$2:$A$50,MATCH(T_事業所テーブル!D80,Sheet1!$C$2:$C$50,0),0)出来上がりはこんな式になるのですが、fxから書くにはどのような順番で書いていけばいいのですか?このような合わせた式は手書きで書かないといけないのでしょうか?よろしくお願いします。

  • 関数式を教えてください。

    いつも大変お世話になっております。 下記のような関数式はどんな式ですか?   A   B   C    D    E 1  5    2   1    12    8 2  250  100  100   500   400 上記の2行目の"250","100"等を自動計算で算出する式を教えてください。 算出の条件は、基本は1行目の数字に"50"を掛けたものですが 1行目が"10"以上の場合、いくら数字が大きくても2行目の答えが”500”である事 (”500”を超えない)又、 1行目が"2"以下(”0”も含む)の場合、2行目の答えが”100”である事の二条件を満たす 式を教えてください。 宜しくお願い致します。                                  ー 以上 ー

このQ&Aのポイント
  • 新しいPCを購入し、公式サイトからセットアップのためのソフトウェアをダウンロードしましたが、PCがプリンター検知できず進めません。
  • PCとプリンターを無線LANで接続したいが、再起動やプライバシーセパレータのON/OFFの操作など試しても状況は変わりません。
  • 質問者の環境はWindows11で、PCは有線接続、プリンターは無線接続ですが、関連するソフト・アプリや電話回線の情報は不明です。
回答を見る

専門家に質問してみよう