• ベストアンサー

こういう表示をするためのエクセル関数はありませんか

こんにちは! さっそくですが、A-Iまでのプロジェクトが縦軸、横軸が担当者名となっている添付一覧で担当する人の行に数字の1を入れたものがあります。(一人で複数プロジェクトを担当することはあり、ただし一つプロジェクトの担当者は一人のみ) プロジェクトの右側のカラムBに1行目の担当者名を表示できればと思いました。 (薄青色のセル) LOOKUP関数、HLOOKUP関数の利用を考えましたが、できませんでした。 カラムBに設定したら1番の入った列の1行目の担当者名を表示できる関数を 教えていただけないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (448/684)
回答No.1

力技ですが... B3=INDEX($C$1:$G$1,(IF(C3="",0,1))*1+(IF(D3="",0,1))*2+(IF(E3="",0,1))*3+(IF(F3="",0,1))*4+(IF(G3="",0,1))*5) 以下、必要数下方向に複写 はいかがでしょうか。

Waver22
質問者

お礼

遅くなってすいません。 B3に表示されました。 ありがとうございました。

その他の回答 (4)

  • kon555
  • ベストアンサー率51% (1704/3278)
回答No.5

既に回答済みのindex関数で行ける気がしますが、絡め手を一つ。 別の場所にもう一つ表を作って、元表に対しif関数で「1が入ると名前が入る」ように設定。 担当者欄はその2つ目の表を参照するような形にすれば、ご要望の機能は実装できます。 index関数など、シンプルに関数だけでやろうとするより柔軟な対応ができますので、一応提示させていただきます。

Waver22
質問者

お礼

遅くなってすいません。 そういう発想もあるのですね。ありがとうございます。

  • msMike
  • ベストアンサー率20% (363/1769)
回答No.4

B3: =INDEX(C$1:G$1,MATCH(1,C3:G3,0))

Waver22
質問者

お礼

遅くなってすいません。 B3に表示されました。 ありがとうございました。

  • kkkkkm
  • ベストアンサー率65% (1570/2403)
回答No.3

B3に =IFERROR(INDEX($C$1:$G$1,1,MATCH(1,C3:G3,0)),"") として下にコピー でいかがですか。

Waver22
質問者

お礼

遅くなってすいません。 B3に表示されました。 ありがとうございました。

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

ピボットテーブルを使ってみてください。

Waver22
質問者

補足

遅くなってすいません。 一覧の形式を作り替えたりしていくつか試したのですが、ご回答の意味が分かりませんでした。 一覧データ数を減らしてでも結構ですので、別な文章でpivotテーブルで表示する方法をもう一度ご説明いただけないでしょうか。

関連するQ&A

  • 関数について。

    vlookup 関数とlookup関数と、hlookup関数の違いは、何でしょうか?ご教授いただけないでしょうか?すみませんが。で、もう一つ疑問点があり、 では、どういう時に、vlookup 関数と、lookup関数を使い分けるのでしょうか? 1行目だけを求めたいだけとかでしょうか?ご教授いただけないでしょうか?すみません。 について、ご教授いただけないでしょうか?すみませんが。

  • EXCELの関数の書き方

    縦軸に案件名を入れて、横軸に担当者で、その交わるセルに作業時間を入れていき工数管理を行う 表があるのですが、その表を、 案件名、担当者、作業時間 案件名、担当者、作業時間 案件名、担当者、作業時間 という風な並びにしたいのですが、関数が分からず困っています。案件は複数名で担当することも あり、VLOOKでためしたのですが重複してしまって上手くいきません。複数の作業時間が同じ案件(横列)に入っていたとしても、このような並びに出来る関数を教えていただければ助かります。 別のシートに飛ばす等なんでもいいのでご回答頂ければ本当に助かります。 関数が分からないため、現在100人分を手作業で別シートに移す仕事をしています。 本当に助けて欲しいです!!! 何卒、何卒。

  • 関数を教えてください

    エクセルの関数を教えてください。 1行目 A1に「A商品」、B1に「B商品」、C1に「C商品」と入力しました。 2行目 ABC のいずれかに 「0」ゼロを 入力した時(例B2に「0」入力)。 5行目(A5)に B商品 と表示する方法を教えてください よろしくお願い致します。 (1行目と2行目を入れ替えてHLOOKUP関数ではできます)

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセルのFIND関数の複数セル参照について

    C4=LOOKUP(0,0/FIND(B4,テーブル1[アドレス]),テーブル1[名称])  「テーブル1」の「アドレス」列を部分一致で検索し、「B4」セルの文字列に該当する項目があったら、「テーブル1」の「名称」列のデータを「C4」セルに表示するよう、インターネット上の情報を参照しながら数式を組んでいます。  ところが、「B4」セルの文字列に該当する項目があるときはいいのですが、該当項目がない場合は「#N/A」と表示されるため、「IF」関数を追加し、以下のようにしたところ、うまく動きませんでした。 C4=IF(COUNT(FIND(B4,テーブル1[アドレス])),LOOKUP(0,0/FIND(B4,テーブル1[アドレス]),テーブル1[名称]),"未使用")  「数式の検証」で調べたところ、「LOOKUP」関数内の「FIND」関数は「テーブル1」の「アドレス」列の各セルをそれぞれ参照しているのに対して、「COUNT」関数内の「FIND」関数は同じ行(C4の場合は4)の「テーブル1」の「アドレス」列しか参照していませんでした。 「LOOKUP」関数内の「FIND」関数のテーブル1[アドレス]: {"アドレス1";"アドレス2";"アドレス3"} 「COUNT」関数内の「FIND」関数のテーブル1[アドレス]: "アドレス4"  参照内容が異なるのはなぜでしょうか。  この場合、どのようにすればよろしいのでしょうか。  また、「LOOKUP」関数は「旧バージョンとの互換性を維持するためのもの」となっており、代わりに「VLOOKUP」や「HLOOKUP」、「MATCH」関数などで代用はできないのでしょうか。  何卒ご教示よろしくお願いいたします。

  • エクセルの参照結果を空欄を詰めて表示させたい

    エクセルの入門書などによくある学校の成績表で、縦軸B3からB25までに氏名、横軸C3からCQまで科目名があるとします。 このJの列にある科目で100点を取った生徒のみを別シートのB28から縦に順番に表示させたいです。 基本的な関数を使って、100点を取った人のみ抽出して表示させることはできるのですが、空欄を詰めて順に表示させることができず困っております。 よろしくお願いします。

  • excelの文字の色を変える関数ってあります?

    例えば【縦軸:A君B君C君誕生日】と【横軸:結婚記念日と誕生日】をシート1に入れます。シート2に【縦軸:C君A君B君】と入れ【横軸:ひづけ】を入れます。index&match+ifで誕生日に●、結婚記念日に△を入れるのですが、●の場合は赤、△の場合は緑にしたいです。 色を変える関数ってあります??教えてください。 2000使っております。

  • VLOOKUP関数で左端より左の表示

    エクセルのデーター表でC列に会社名が入っていてF列に担当名が入っているがあります。 別のシートで会社名を入れると担当名が表示されるようにVLOOKUP関数を使用しています。 また別のシートで担当名を入れると会社名が表示されるようにしたいのですがどうしたら良いでしょうか? VLOOKUPではできなくて困ってます。 F列の担当名は所々空白があります、そのためかLOOKUP関数を使ってみましたがうまくいきません。

  • エクセルの関数とグラフについて

    VLOOKUPを使って入力したIDNoに対して、別々のシートから検索するため次のような関数をいれています。=IF(ISERROR(VLOOKUP($E1,'シート名(1)’!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(1)'!$B$5:$IV$254,COLUMN(G6),0))&IF(ISERROR(VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)) この関数から得られた数値を折れ線グラフに反映させたいのですが、グラフに数値として認識されません。セルの書式設定は数値にしています。 ネットで色々調べてみて、この関数の最後に)/1を追加させた式を入力すると数値は認識されるようになりました。しかし空白の場合に#VALUEになり”プロットしない”に設定しても0にグラフが出てしまいます。 また同じ表で日付に対しても日付で表示されなかったので=IF(ISERROR(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))&IF(ISERROR(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))の関数を入力したところ日付が表示されるようになったのですが、空白の場合は”M33.1.0”となりグラフ上でも表示されてしまいます。 どうすれば日付や数値としてグラフ上に反映させられるのか教えてください。また空欄の場合には0にポイントされないM33.1.0にならない方法も教えてください。 エクセルは2003です。 エクセル初心者のため説明不足等あるとは思いますがよろしくお願いします。

  • エクセルでの関数を使った条件抽出方法について

    エクセル初心者です。 エクセルでの関数を使った条件抽出方法についてどなたかご教授願います。 よろしくお願いします。 Sheet1の特定のセルに対して、Sheet2中にある条件に一致するセルの値を 表示させる方法がわかりません。 <具体的内容> 次のような2つのシートがあります。 Sheet1       -------------------------     A     B     C  1                2  2  費目1 3  費目2 4  費目3 ------------------------- Sheet2 -------------------------     A     B     C     D 1  2          1     2     3 3  費目2   100   200   300 4  費目1    30    10    20 5  費目3   150   350   250 ------------------------- Sheet1のC1のセルと同じ数値をSheet2の2:2行から探して、 一致する数値に該当する列の3~4行目の値を、 Sheet1のA2:A3の費目とSheet2のA3:A5の費目とが 一致するようにして、Sheet1のB2:B3に表示したいです。 このときSheet1のB2~B3にはどのような関数式を入れたらよいですか? 上の場合だと、Sheet1のB2=10、B3=200、B4=350となってほしいです。 HLOOKUP、COLUMNなど組み合わせてみたのですが、 全くうまくいきません。簡単ではないのでしょうか? どなたか教えてください、よろしくお願いします。

専門家に質問してみよう