• 締切済み

Excelで空白の場合に他の欄を参照したい

Excel2010を使っています。 数式を作る時に、対象となるセルが空白なら下の欄を参照していくにはどうしたらいいでしょうか? (1)「K2」に○が入っていれば「H2」の内容を「A2」に表示する (2)「K2」が空白なら【K欄でK2の次に○が入っている行のH欄の情報をA欄に表示する】 この様な式を作りたいのですが(2)の【 】の部分をどうすればいいのかが分かりません。 もしやり方をご存知の方がいらっしゃいましたら教えて下さい。 具体的には出席者リストの作成ですが、元となる顧客情報のリストがExcelで作ってあります。 その中から出席する対象者のデータのみ別シートの表に表示したいのです。 上記の式は出欠欄(K2)に○があれば別シートの氏名欄(A2)に氏名(H2)を表示したいのですが、その人が欠席(空欄)であれば次の出席者の氏名をA2欄に表示したいという意味です。 (K2の次に出席の○があるのがK5なら、H5にある氏名をA2に表示したい) 分かりにくくて申し訳ありませんが、ご助力よろしくお願い致します。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

ご質問の直接の回答としては =INDEX(H2:H99,MATCH("○",K2:K99,0)) のような数式をお薦めします。 INDEX以外,OFFSETとかINDIRECTなどの関数も利用できますが,ブックを開いて何もせず閉じただけでも「保存しますか」と聞いてくる原因になります。 ただし。 >その中から出席する対象者のデータのみ別シートの表に表示したい 実際にはご質問で書かれているのはとても言葉足らずで,もっと違う次のようなやり方をお薦めします。 【簡易版】 B列に B2: =IF(K2="○",COUNTIF(K$2:K2,"○"),"") と記入,リスト下端までコピー ○な人のH列の一覧は =IFERROR(VLOOKUP(ROW(A1),B:H,7),"") 以下コピー のようにします。 どーしてもB列を汚したくないなら,もっと目立たないZ列とかに1,2,3…を計算するA列の代わりに式を並べ,最初に回答したINDEX(MATCH())で1,2,3…を持ってくるのでもできます。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

とりあえずこんな式でいいんじゃないでしょうか。 =IFERROR(OFFSET(H1,MATCH("○",K2:K100,0),0),"") 「K2」が空白なら…ではなく、K2:K100の間で最初に○がある行のH列の値を表示しています。 K2:K100は、実際の範囲に合わせて変えてください。

関連するQ&A

  • EXCEL シート間の参照について

    Sheet1に郵便番号、住所、氏名の項目を作り1pageとします。 Sheet2の住所録リストから各項目へ参照させます。 たとえばSheet2の住所録リストが3行めならSheet1のpageも3です。 Sheet2の住所録リストに空白行を1行挿入したとき、参照されるSheet1のpageは空白となり、次の行が次のpageに参照されるというふうに、Sheet1のpageとSheet2のリスト行が常に同じになるようにしたいのですが、どうしたらよいかおしえていただけないでしょうか?

  • ×または空白のセルを繰り上げて表示する(エクセル)

       果実シート                  まとめシート      A   B    C         A    1  いちご  林檎  ミカン          2   ○   ×    ○ 3   4  イ 5  ロ 6  ハ 2行目には○か×か空白が入ります。空白は×と同じです。(以下×という定義は「×または空白」という意味とします。) ・4行目イの欄=A2が○であれば「いちご」を。A2が×でありB2が○であれば「林檎」を。A2、B2が×でありC2が○であれば「ミカン」を ・5行目ロの欄=A2が○でB2が○であれば「林檎」を。A2が○でB2が×、C2が○であればミカンを。A2が×、B2が○、C2が○の場合はミカンを。 ・6行目ハの欄=すべて○の場合だけミカンを。 つまり、×または空白表示の場合は、順次繰り上げて表示する方法についてご教示ください。 4行目は=if(a2="○",a1,if(b2="○",b1,if(c2="○",c1)))ということでOKだと思いますが、5行目6行目がどうしてもわかりません。 マクロをメンテナンスできる人間がいないため、ifやandなどの関数だけでお願いします。 また、このイロハの部分を別の「まとめシートに」リンクさせ、これをVLOOKUP($G$2,まとめシート!A1:R50,1,FALSE)という形(G2は任意の数字を入れる場所)でさらに別のシートへリンクすることは可能でしょうか。 エクセルバージョンは2002です。

  • Excel ゼロまたは空白を除いて最小値

    A列に氏名(重複あり)、B列に値(ゼロまたは空白)があり 仮にC1セルに、A列の中から任意の氏名を指定すると D1セルにゼロまたは空白を除いて最小値を表示したいのです。EXcel2002

  • EXCELで空白セルを参照したとき、0が表示されてしまう

    EXCELでsheet1、sheet2があり、sheet1にはsheet2の同じ位置のセル内容を参照させたいと思います。 (例:sheet1A1=Sheet2!A1) ところがsheet2の参照元が空白セルだと、sheet1には「0(ゼロ)」が表示されてしまいます。 このような表示がでないようにするには(空白なら空白を参照させるには)、どうしたらいいのでしょうか。 尚、参照元のデータには一部電話番号や住所も入っており、元々0という数字が存在するデータもあります。 どなたかお知恵をお貸しいただければ、と思います。宜しくお願いします。

  • EXCELで他のシートのデーターを反映させるには

    office2000のEXCELです。 仮に「シート1」と「シート3」があります、「シート1」にはA列(氏名)B列(年齢)とします、 「シート3」は会員名簿で氏名(C列)と年齢(D列)が書かれています(60件位)。  「シート1」のA列(氏名)をクリックすると「シート3}の名簿が表示されて氏名(c列)をクリックする事により「シート1」のA列(氏名)B列(年齢)が入力できるような仕組みは可能でしょうか。   リスト入力・コンボボックス等チャレンジしてみましたが何れもうまくいきませんでした。 初心者にはむりでしょうか? 宜しくお願いいたします。

  • 関数を使って参照した際、空白を反映しない

    Excel2010で関数で文字の結合と改行を10セル分ぐらいしたときに、セルが空白の場合、空白を反映しないようにすることはできないのでしょうか? たとえば、     A    B    1 あ   か   2 い   き   3 う    く   として、C1に   あ   い   う   か   き   く と表示するための関数が入っているとして、もし、”き”や”く”が空白だった場合、その空白を反映しないようにしたいと思っています。 C1に表示されたものを、さらに別のシートで表示すようになっているのですが、その別のシートで表示された際、最後のセルが空白だと、表示セルの上のほうに文字が行ってしまい、上下中央に表示されなくなってしまうので、空白を反映しない、無視するような関数があればと思い質問させていただきました。 Excel自体そんなに詳しくないのですが、文字の結合はセルを”&”でつなげ、改行には”CHAR(10)”を入れてやっていました。これだと別のシートでは下のほうに空白ができてしまい、結合した文字が上に行ってしまいます。 自分でもいろいろ調べて、試してみましたができませんでした。 空白のセルを削除したりして詰めるのではなく、表示されないようにできないものかと考えています。 参照しているA1からB3までのセルには、文字を入力したり消したりと更新することがあるので常にすべてのセルを参照しておき、表示されるときに空白を除く形にしたいと思っています。 別シートのほうでは”VLOOKUP”を使って表示されるようにしています。 わかりにくい説明かもしれませんが、どうか回答をよろしくお願いします。

  • エクセル2007 ドロップダウンリストの空白をなくすには

    例えば、ドロップダウンリストで表示したいデータは10個しか無いのですが、今後増える可能性があるので20行をリストの範囲にしたとします。その際リストには10個分のデータと、10個分の空白が出来てしまいます。 (表示したい項目は別シートにあります) この空白を無くすために調べているのですが、わからず躓いてしまっています。どなたか教えて下さると助かります。宜しくお願い致します。

  • エクセルでこんな抽出は可能ですか?

    関数を使用して抽出したいと思います。 まずシート1とシート2を使います。 シート2には住所録などの内容が5000件くらいあるものとします。 その住所録には「〒」「住所」「電話番号」「氏名」などのフィールドを作っておきます。 そして、シート1には 例えば「氏名」という欄をA1に書き、B1の空白のセルに「山田」と入力をすると、「山田」が含まれるものをすべて表示したいと思います。 このすべて表示とういうのは「山田」を含む「氏名」だけ表示されるのではなく、「〒」「住所」「電話番号」「氏名」を表示したいのです。 オートフィルタやフィルタオプションは極力使用したくないので、関数で出来ないものかと考え中です。 また、抽出結果を表示する欄はシート1のA3あたりからお願いします。 こんな文書で意味が分かった方、よろしくお願いします

  • エクセルの空白の種類?

    エクセルで入力フォームを作成し、一覧に登録していくといったツールを作成しています。 その際、フォームから空白欄を選択した場合と、セル上でデータをdeleteした場合に、 空白欄の並び替えの結果が異なってきました。 フォーム:昇順にすると空白欄が上にくる セル上:昇順にすると空白欄が下にくる フォームの選択元は別シートにリストをもっています。 空白行はなにも入っていない行を指定してあります。 なぜdeleteした場合と結果か異なるのでしょうか。

  • EXCEL ピボット集計表の (空白) について

    いつもお知恵拝借、ありがとうございます。 最近、ピボットテーブル集計を使う機会が増えまして、集計表を作製したのですが、一つ気になる点がありますので、ご教示をお願いします。 元のシートのセルが、空白のばあい、ピボット集計表の「詳細リスト」に「(空白)」と表示されます。いろいろやってみたのですが、消せません。元のシートのデータが空白なので、ピボット集計表でも空白で表示してくれればいいのですが、何かのサービスのつもりでしょうか?集計表の「空白」覧に手書きでデータを記入することもあるので、空白のままにしてほしいのです。 「詳細」で、「空白に表示する文字」を入れても変化はありません。強いて元のシートの空白セルに「スペース」を入れてやれば、見かけ上は「空白」にはなりますが・・・。 なんか方法があるのでしょうか? OS=XP EXCEL=2003 です。よろしくお願いします。

専門家に質問してみよう