• ベストアンサー

エクセルの数式で質問があります

以下のような面談表を作りました。 B10に『1』とうつとB2に『太郎』と出るようにVLOOKUPで数式を作りました。 次にこれを発展させてI14に『1』といれると H10とI10にそれぞれ『6日(火』と『13:30~13:45』と表示されるようにするには H10とI10にどういった関数を入れたらいいでしょうか。 自分なりに調べてはみたのですが、ある範囲の中から条件に合致するセルを 選び、指定された範囲の左端や上のセルを返すといったことをどうやってやるのかわからずで。 できれば式の解説まであると非常にありがたいです。 とても困っています・・・

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

  • ベストアンサー
noname#204879
noname#204879
回答No.3

1.セル I16 に次式を入力して、此れを下方にズズーッと(セル I20 まで)ドラッグ&ペースト   =IF(ISERROR(MATCH($I$14,B10:E10,0)),0,MATCH($I$14,B10:E10,0)) 2.セル J15 に次式を入力して、此れを右方にズズーッと(セル M15 まで)ドラッグ&ペースト   =IF(ISERROR(MATCH($I$14,B10:B14,0)),0,MATCH($I$14,B10:B14,0)) 3.行15~20 を非表示に設定 4.次に示した左端の各セルに、それぞれ右に示した式を入力   H10: =INDEX(B9:E9,MAX(I16:I20))   I10: =INDEX(A10:A14,MAX(J15:M15))

planaria01
質問者

お礼

皆さんありがとうございました

その他の回答 (5)

  • basic_gg
  • ベストアンサー率50% (14/28)
回答No.6

ちょっと遊んでみました。No.4 tom04さんとほぼ同じ式ですね。 多くの人の説明があるので、私の説明は省略します。 H10=IF(COUNTIF(B10:E14,"="&I14)=1,INDEX(B9:E9,1,SUMPRODUCT(($B$10:$E$14=$I$14)*COLUMN(A1:D1))),"") I10=IF(COUNTIF(B10:E14,"="&I14)=1,INDEX(A10:A14,SUMPRODUCT(($B$10:$E$14=$I$14)*ROW(A1:A5)),1),"")

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 別にANo.4様の様に表を一つに纏めなくとも、御質問者様の添付画像通りの配置でしたら、以下の関数で表示させる事が出来ます。  但し、B~E列の範囲内に、I14に入力した数字と同じ数字が複数存在している場合には、検索出来なくなりますので、その場合は「重複があるため検索不能」と表示されます。 【H10セルに入力する関数】 =IF(AND($I$14<>"",COUNTIF($B$10:$E$14,$I$14)=1),INDEX($1:$1,SUMPRODUCT(COLUMN($B$1:$E$1)*(COUNTIF(OFFSET($A:$A,,COLUMN($B$1:$E$1)-COLUMN($A$1)),$I$14)-($B$1:$E$1=$I$14)*2=1))),"") 【I10セルに入力する関数】 =IF($I$14="","",IF(COUNTIF($B$10:$E$14,$I$14)=1,INDEX($A:$A,SUMPRODUCT(ROW($A$10:$A$14)*(COUNTIF(OFFSET($B$9:$E$9,ROW($A$10:$A$14)-ROW($A$9),),$I$14)=1))),IF(COUNTIF($B$10:$E$14,$I$14),"重複があるため"&CHAR(10)&"検索不能",IF(COUNTIF($H$2:$H$6,$I$14),"予定なし","該当者なし"))))  尚、I10セルの表示が「重複があるため検索不能」となる場合には、表示される文が長いため、セルの書式設定を[折り返して全体を表示する]にしておかれる事を御奨め致します。  それと、I14に入力した値がH2~H6の範囲に存在していない場合には、「該当者なし」と表示されます。  又、I14に入力した値がH2~H6の範囲に存在している場合であっても、B10~E14(下の表)に記入されていなかった場合には、「予定なし」と表示されます。  因みに、日付と時間帯を個別のセルに表示させなくとも、以下の様な関数 =IF(COUNTIF($H$2:$H$6,$I$14),IF(COUNTIF($B$10:$E$14,$I$14)=1,VLOOKUP($I$14,$H$2:$I$6,2)&"さんの面談は"&CHAR(10)&TEXT(INDEX($1:$1,SUMPRODUCT(COLUMN($B$1:$E$1)*(COUNTIF(OFFSET($A:$A,,COLUMN($B$1:$E$1)-COLUMN($A$1)),$I$14)-($B$1:$E$1=$I$14)*2=1))),"d日(aaa)")&" "&INDEX($A:$A,SUMPRODUCT(ROW($A$10:$A$14)*(COUNTIF(OFFSET($B$9:$E$9,ROW($A$10:$A$14)-ROW($A$9),),$I$14)=1)))&CHAR(10)&"です",IF(COUNTIF($B$10:$E$14,$I$14),"重複があるため"&CHAR(10)&"検索不能","予定なし")),IF($I$14="","","該当者なし")) としますと、1つのセル内に例えば 大輔さんの面談は 6日(火) 13:30~13:45 です 等の様に表示させる事が出来ます。(添付画像のI17セルを参照の事)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 画像ではA~E列に同じ表が並んでいますが、 これは一つにまとめることはできないのでしょうか? そうすれば関数で簡単に表示できます。 とりあえず画像の下の表にデータが入っていますので、それを利用する場合 H10セルに =IF(AND(I14<>"",COUNTIF(B10:E14,I14)),INDEX(B9:E9,,SUMPRODUCT((B10:E14=I14)*COLUMN(A1:D1))),"") I10セルに =IF(AND(I14<>"",COUNTIF(B10:E14,I14)),INDEX(A10:A14,SUMPRODUCT((B10:E14=I14)*ROW(A1:A5))),"") という数式を入れてみてください。 ※ 表内の数値データに重複はない!という前提です。 的外れならごめんなさいね。m(_ _)m

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

VBAなら簡単ですが、エクセル関数一発だと、ちょっと大変なので、 F10セルに、 =IF(ISNA(MATCH($I$14,B10:E10,0)),"",MATCH($I$14,B10:E10,0)) F18セルまで下にコピー、 B19セルに、 =IF(ISNA(MATCH($I$14,B10:B18,0)),"",MATCH($I$14,B10:B18,0)) E19セルまで右にコピー、 H10セルに、 =INDEX(B9:E9,1,SUM(F:F))   H10セルの書式は、ユーザー設定のd"日"(aaa) I10セルに、 =INDEX(A10:A18,SUM(F:F),1) でいかがでしょうか。

回答No.1

H10: ="『6日(火』" I10: ="『13:30~13:45』"

関連するQ&A

  • 関数の値のVlookup

    下記のような表があり、"=VLOOKUP(H1,A1:B6,2,1)"のような結果を得たいと思っています ## H1セルには検索したい値を入れるようになっています。 しかしWeb上で調べたところ、VLOOKUP関数は値や文字列には使えるが数式には使えないようです。 そこで数式でもVLOOKUP関数と同じような結果を得られる方法がありましたら教えて頂けないでしょうか。 よろしくお願い致します。 | A | B | --------------------- 1|$E$3*H7*I7 | 1 | 2|$E$3*H7*I8 |0.9| 3|$E$3*H7*I9 |0.8| 4|$E$3*H7*I10|0.7| 5|$E$3*H7*I11|0.6| 6$E$3*H7*I120.5

  • Excelの数式について教えてください。

    =IF(AND($A7="",$I7="",),"",IF($X7=$AA$13,IF(AND(NOT($A7=""),NOT($I7="")),$H7+$P7,IF($X7=$AA$13,IF(NOT($A7=""),$H7,IF($X7=$AA$13,IF(NOT($I7=""),$P7))))))) 何とか上記の数式を作ったのですが、 (X列、AA列は色々な店名が入力されています。)X列の店名が、AA列の店名に合致すると、正常に計算されますが、合致しないと"FALSE"が表示されます。 合致しない場合は、"FALSE"でなくセルを空白表示にしたいのでが、数式を教えてください。 Excel2003 セルの書式設定:X列、AA列は標準、他の列は数値です。この式はQ列に入力されています。 よろしくお願いいたします。

  • EXCEL の数式の意味

    =IF(LEFT(L178,2)="他社","",IF(H178="CL",IF(ISERROR(VLOOKUP(E178,マスタ!I:S,11,0)),1,VLOOKUP(E178,マスタ!I:S,11,0)),"")) 以上の数式の意味を教えて頂ければ助かります。 「L178の左端から2文字抽出した文字が"他社"の場合は" "を表示する。 一方で他社でない場合は・・・の続きがわかりません。 ご教授お願い致します。

  • EXCELの数式について教えて下さい

    =IF(ISBLANK(H2)," ",IF(H2>1000,3000+6*700+6*(H2-1000),IF(H2>300,3000+7*(H2-300),"3000"))*65%) 上記の数式は正しくありませんか? H2セルに何らかの数値が入っている場合は「IF(H2>1000,3000+6....」以降の計算を行い、その結果が 隣のセル(I2)に出て、空白の場合隣のセルに空白で返す、ということをさせたいのですが、この数式ですとどうしても「#VALUE!」が返ってきてしまいます。 何か良い方法はないでしょうか?

  • 数式の中のエクセルの範囲

    エクセルについて教えて頂きたいのですが あるセルにvlookupの数式が入っています。 普通ならvlookup(検索値,範囲,列番号,検索の型)だと思うのですが で、範囲の部分はA1:D10とかになると思うんですが、areaとなって いてどこかに範囲が設定しているのだと思います。 それは、どうやって範囲になっている部分を探せばいいですか? どこを探しても見つからず、範囲を変えることができません。 その数式だけ変更すればいいとも考えたのですが 大量の数式にそれが使用されていて、その部分を変更しても 他のシートの数式に影響を及ぼします。 探す方法又は再設定する方法はないでしょうか すいませんが、自分ができる範囲ではわからないので 教えて下さい。 お願い致します。

  • エクセルの数式についての質問です。

    下記の数式で、「一覧!A4:EG1003,137」の「一覧!A4:EG1003,137」が空白の場合に、空白で返す場合の数式をお教えください。 現状の数式 =VLOOKUP(B1,一覧!A4:EG1003,137) 補足説明 エクセルのシート(一覧シート)のA4:EG1003内で137列目が空白の場合は空白で返す数式にしたいです。 VLOOKUPを使用しているので、別シートのB1セルには一覧シートの専用番号の行の値を入力するとその行が全て別シートに反映される形になっています。その時に空白の個所があると0表示になってしまうので、空白は空白で返したいです。

  • エクセル:数式の結合

    お世話になります。 A1セルに =B1 A2セルに =B2+C2 A3セルに =B3+C3+D3 ・・・ という式があるとします。 ここにそれぞれのF列の数式を追加したいと思います。 A1セル =B1+(F1の数式) A2セル =B2+C2+(F2の数式) A3セル =B3+C3+D3+(F3の数式) ・・・ となるようにしたいのですがどのようにすればよろしいでしょうか? 結果だけであれば足し合わせればよいのですが数式を書き換えたいというのが希望です。 (最終的にはA列の数式とF列の数式をあわせてひとつの列にしてしまいたいのです) 置換や関数ではどのようにしたらいいかわかりませんでした。 (マクロは手を出したことがありません) 文字列の結合ならCONCANTATE関数でできるのですが中の数式をうまく結合するには・・・ と考えていっても無理でした。 すみませんがお教えください。

  • 急いでいます。エクセルの数式を教えてください。

    販売金額 A 1億5千万以上 B 1億以上1億5千万未満 C 5千万以上 1億円未満 D 5千万未満 報償率 Aグループ (1)達成率100%以上105%未満 1.8% (2)達成率105%以上110%未満 1.9% (3)達成率110%以上2.0% Bグループ (1)のとき 1.5% (2)のとき 1.6% (3)のとき1.7% Cグループ (1)のとき 1.2% (2)のとき 1.3% (3)のとき1.4% Dグループ (1)のとき 0.9% (2)のとき 1.0% (3)のとき1.1% 以上の条件で報償率を関数で表示させるにはどのような数式になるでしょうか? 販売金額がセルC8、達成率がD8、F8にグループ(AからD)が入力されています。 セルG8に報酬率を表示させたいです。 イフ関数やVlookupで考えてみましたが、うまく 数式ができません。 以上どうぞよろしくお願いいたします。

  • EXCELの数式を教えて下さい

    今朝、ここで数式を教えて頂いて大変助かったのですが 又、一つ私にとって難しすぎるのが出ましたので教えて下さい。 1)EXCELの4行目から53行目までデータがあり、A4とI4とS4列は文字の項目です。G4列は売上の数値です。 2)例えば4行目から53行目までのある1行でA4(*JPY)、I4(*JPY)、S4(*アジア)の3項目が合致した行だけのG4の売上数値だけを4行目から53行目までの数値合計をだす数式をつくりたいです。3項目の合致がない場合はセルに0を表示したいです。 宜しくお願い致します。

  • 関数で求めた2つのセル範囲内の、平均値を出したい。

    日の出から日の入までの範囲の平均温度を求めたいのですが、日の出時刻と日の入り時間はVLOOKUP関数によって求めています。 A列に時刻、B列に温度が並んでいます。 求めた時刻が例えば、日の出6:00(セル番号 A360)、日の入18:00(セル番号 A1080)となっている場合。 当然ながら、=AVERAGE(A360:A1080)と入力すれば可能ですが、 =AVERAGE(VLOOKUP関数数式:VLOOKUP関数数式)はエラーとなります。 =AVERAGE(VLOOKUP関数数式,VLOOKUP関数数式)は2点のみの平均温度となってしまいます。 どのような方法で解決できるでしょうか? あるようで見つからないのですが、指定した範囲内に一致する数値があった場合にそのセル番号を返すような数式はあるのでしょうか?

専門家に質問してみよう