- ベストアンサー
列と行での検索
Excel2000の関数で質問です。 関数やVBAは本に載っているような物を修正して使っているので初歩的な事しかわかってません。 A B C D E 1 A会社 B会社 C会社 D会社 2 肉 100 200 300 400 3 野菜 100 200 300 400 4 卵 200 200 200 200 5 卵1 100 100 100 100 6 牛乳 300 300 300 300 このような表があるのですが、 A10にA会社 A11に卵 といれると、卵と卵1の合計の300がでてくるような関数はありますか? A列は1文字とは限らず、最大10文字位あります。(あいうえお1など) INDEXとMATCHをつかって卵の200だけは出せたのですが、どうしても合計が出せません。 作った関数は =INDEX(B1:E6,MATCH(A11,A2:A6,0),MATCH(A10,B1:E1,0)) です。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- 複数シートから検索し、その行から15列下までを抽出したい。
使用しているのはWINDOWS XP EXCEL2000です。 マクロ、VBはあまりよくわかっていません。 ひとつのファイルに6sheetあります。 シートY1~Y6があり、シートY1のB1に入力されたデータと同じものをシートY1~Y6全てから検索し、 その行から15列したまでを抽出するということをしたいのです。 現状は1シートのみからの検索で、A3からA17までMATCH関数とINDEX関数が入っていて抽出しています。 (下記のように関数が入っています。) YIシート A3 → =MATCH(B1,T1_A1!D:D,0) B3 → =INDEX(T1_FMRA!E:E,A3,1) YIシート A4 → =A2+1 B4 → =INDEX(T1_FMRA!E:E,A4,1) ↓ ↓ YIシート A17 → =A16+1 B17 → =INDEX(T1_FMRA!E:E,A17,1) これをA1に入力されたデータを全シートから(Y1~Y6)検索、抽出する方法が知りたいのですが・・・ 説明がわかりづらくすみません。 よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- ExcelセルにVBAでINDEX関数を入力
ExcelでINDEX関数とMATCH関数で"B11:E13"セルに以下の数式データがあります。 数式は "B11"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(1,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(1,B$15:B$23,0))) "B12"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(2,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(2,B$15:B$23,0))) "B13"=IF(ISERROR(INDEX($A$1:$A$9,MATCH(3,B$15:B$23,0))),"",INDEX($A$1:$A$9,MATCH(3,B$15:B$23,0))) "C11"==IF(ISERROR(INDEX($A$1:$A$9,MATCH(1,C$15:C$23,0))),"",INDEX($A$1:$A$9,MATCH(1,C$15:C$23,0))) "B15~B23"に数値1~3を入力した場合イニシャルA~I が入力される式ですが、列を連続で入力できるような処理をVBAのWorksheetFunctionで行うにはどのようにコードを記述すればよいのでしょうか。 ご回答のほどよろしくお願いします。
- ベストアンサー
- Visual Basic
- 関数 複数条件での検索を【&】を使わない別の方法
エクセル関数を使って複数の条件を満たしたときの 特定のセルの数値を返す方法が分かりません。 同じような質問が過去にはありました。ご回答の式は =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))の式に いろいろ手を加えてみましたが、とても答えが見つかりませんでしたので なにかいい方法がありましたらご伝授ください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel 複数条件一致による文字列取得
途中まで作成してみましたが、できなかったのでお教え願います。 (1)シート<入力用>に以下のように入力されています。 ┃ ┃A ┃B ┃C ┃D ┃E ┃ ━━━━━━━━━━━━━━━━━━━━━━━ ┃1┃日付┃社員番号┃休暇等┃業務開始時間┃業務終了時間┃ ┃2┃0926┃11111111┃休 ┃ ┃ ┃ ┃3┃0927┃11111111┃直 ┃8:30 ┃17:30 ┃ ┃4┃0928┃11111111┃ ┃8:30 ┃18:30 ┃ ┃5┃0926┃22222222┃研 ┃8:30 ┃17:30 ┃ といった状態で約120名のランダムなデータがべた打ちされてます。 (2)(1)を以下のような集計表に飛ばしたいのです。 ┃ ┃A ┃B ┃C ┃D ┃E ┃・・・・・・ ━━━━━━━━━━━━━━━━━━━━━━━ ┃1┃ ┃0926┃0927┃0928┃0929┃・・・・・・ ┃2┃11111111┃休 ┃直 ┃ ┃・・・・・・ ┃3┃22222222┃研 ┃ ┃ ┃・・・・・・ ┃4┃33333333┃・ ┃・ ┃ ┃・・・・・・ ┃5┃44444444┃・ ┃・ ┃ ┃・・・・・・ 行:日付 列:社員番号 飛ばしたい情報は、(1)の<休暇等>文字列です。 ためしに、(2)のB2に以下の式を入れてみました。 B2=index(入力用!A2:E5,match(B1,入力用!A2:A5,0),match(A2,入力用!B2:B5,0)) 当然ですが、日にちが帰ってきました。が、なぜか0927が帰ってきました。 このINDEXとMATCHを利用して(1)のC2:C5にある文字列を拾えないでしょうか? 宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
- INDEX関数の値を合計する方法
=INDEX(Sheet2!C5:C100,MATCH(Sheet3!B4,Sheet2!A5:A100,0)-1) という関数で出た値と、 =INDEX(Sheet2!C5:C100,MATCH(Sheet3!C4,Sheet2!A5:A100,0)-1) という関数で出た値の合計を、Sheet1のセルに入れたいのですが、どのようにすればスマートにいくでしょうか。(検索値である、Sheet3!B4,の部分が違います) =INDEX(Sheet2!C5:C100,MATCH(Sheet3!B4,Sheet2!A5:A100,0)-1)+=INDEX(Sheet2!C5:C100,MATCH(Sheet3!C4,Sheet2!A5:A100,0)-1) とすれば、合計は出るのですが、 Sheet3のB4、C4、D4・・・と、4の行を検索した結果の値を足していきたいのです。 そうなると、 =INDEX(Sheet2!C5:C100,MATCH(Sheet3!B4,Sheet2!A5:A100,0)-1)+=INDEX(Sheet2!C5:C100,MATCH(Sheet3!C4,Sheet2!A5:A100,0)-1)+・・・・・・・・ と、非常に長くなってしまいます。 他の関数でスマートに計算する方法はないでしょうか。
- ベストアンサー
- オフィス系ソフト
- Excelで文字列を独自の二進数で表したい。
A,B,C,D,Eのいずれかを含む文字が順不同でセルに入っているものから、 A=10000 B=1000 C=100 D=10 E=1 と置換して足した、二進数であらわしたり、逆にその二進数から文字列に戻したりしたいです。 (例:DAなら10010、EBCなら1101) VBAの自作関数を含めてExcelの関数でできる方法があればお教えくださると助かります。
- 締切済み
- その他MS Office製品
- エクセル 項目が一致する行で空白以外を表示したい
以下のように,東京の食品の価格がセル(B2:B7)に入力されているとして,それらを別の位置(F2:F5)に表示させるために, セルF2に =INDEX($B$2:$C$7,MATCH($E2,$A$2:$A$7,0),MATCH(F$1,$B$1:$C$1,0)) セルF3に =INDEX($B$2:$C$7,MATCH($E3,$A$2:$A$7,0),MATCH(F$1,$B$1:$C$1,0)) セルF4に =INDEX($B$2:$C$7,MATCH($E4,$A$2:$A$7,0),MATCH(F$1,$B$1:$C$1,0)) と入力しました。 するとセルF4の野菜の価格が0円になってしまいました。 セルF4の野菜の価格が150円と表示するためには,どうしたらよいでしょうか。 よろしくお願いいたします。 A B C D E F 1 東京 東京 2米 1000 米 1000 3ビール 230 ビール 230 4米 野菜 0 5野菜 6ビール 7野菜 150
- ベストアンサー
- Excel(エクセル)
- 検索の仕方を教えて下さい
Excelの検索の仕方を教えて下さい。 下記のような表があります。 A B C D E D … 1 あ い う え お か 2 1 A氏 5 3,198 35 計算式 6 3,215 27 7 3,148 41 8 0 0 9 0 0 7 2 B氏 5 18,000 25 6 17,250 41 7 18,140 30 8 0 0 9 0 0 1行目には、文字列が入力されています。 A2~A6・B2~B6及びA7~A11・B7~B11はセルが結合してあり、それぞれ1つのセルになっています。 D2に計算式を入れる場合ですが… 別のシートに表があり、=IF(Sheet2!A1=0,0,ここからの計算式です。) Sheet2のA1には数字の1が入力されています。 まず、A2の1という数字を検索し、次にC列の5を検索し、5の横列E列の数字(3,198)を求める。 C列とE列の交わる値を結果と出したいのです。 =IF(Sheet2!A1=0,0,VLOOKUP(Sheet2!A1,A2:E11,INDEX(C2:E11,MATCH(5,C2:C11,0),MATCH("え",C2:E2,0)))) としたのですが、計算結果は#REF!です。 どのように計算式を立てれば良いのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excel関数を使って、対象文字が検索文字列でn番目に出現した位置を知りたい
どうもお世話になります。 Excel関数を使って以下の検索を行いたいのですが、可能でしょうか。 例)以下のような表があったとします。 A B C D E F G 1 0 0 1 1 0 0 0 2 1 1 0 1 0 0 0 ⇒○(例えば1)行目を検索し、□(例えば0)が△(例えば3)回目に出てくる位置を返す。 【答え】E1 表の中の文字列は、数字でなく色々な文字(ABとか)を使ってもいいです。 OracleのInstr関数のような使い方と言えばよいでしょうか。 できればマクロは使いたくありません。 Lookup、match、index関数など色々試しましたがダメでした。 ご教授のほどよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- #N/A の消し方
セルI11に =INDEX(形材!D:D,MATCH(B11&C11&D11,INDEX(形材!$E$1:$E$10000&形材!$F$1:$F$10000&形材!$G$1:$G$10000,),0))&"" 上記の関数だと、B、C、Dに何も入力しなくてもI11は空白なのですが、 違うシートのセルH7に =INDEX(部品!D:D,MATCH(B7,INDEX(部品!$E$1:$E$10000,),0))&"" を入れると、Bに何も入力しないとH7に#N/Aが表示されます。 #N/Aを表示させない方法はありますか
- ベストアンサー
- Excel(エクセル)
お礼
ありがとうございます! 求めていた事ができました!