AIと戦って、あなたの人生のリスク診断 >>

  A B   C  D  E   F  G
    
1        い ろ は に ほ
2  a ア  ○
3  b イ         
4  c        ○             
5  d                
6  e ア          ○  ○
簡単ですみません。このような表を基にして、該当する箇所の(○のある箇所)い・ろ・は別の表を、2種類作りたいと思っています。

・a~eを表示させる表
・ア、イ、空白を表示させる表

【例:い】a~eを表示させる表

いろはにほ
a c  e e

↑(a)のセルに
=IF(ISERROR(INDEX($A$2:$A$6,MATCH("○",C2:C6,0),0)),"",INDEX($A$2:$A$6,MATCH("○",C2:C6,0),0))
でうまくいったのですが

・ア、イ、空白を表示させる表がうまくいきません。

空白の場合「0」表示をさせず、空白表示したい。
例:は  のように○がつかないセルもあるので
入力しないときに#N/Aの表示もさせたくない。

この場合どういうふうにしたらよろしいでしょうか。どなたかよろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

=IF(ISERROR(INDEX($B$2:$B$6,MATCH("○",C2:C6,0),0)),"",IF(INDEX($B$2:$B$6,MATCH("○",C2:C6,0),0)="","",INDEX($B$2:$B$6,MATCH("○",C2:C6,0),0)))



で如何ですか。
元の式の偽の場合に、空白の真偽を追加しました。
    • good
    • 1
この回答へのお礼

ありがとうございます!!解決できました。

IFを二つ使う場合にどうしたらいいのかわからず
混乱してました。
こういう風にすればよいのですね。
すぐに答えてくださり大変たすかりました。
ありがとうございました。
また機会がありましたらよろしくお願いしますね。

お礼日時:2007/06/18 16:00

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QINDEXとMATCH関数で#N/Aが出るときに非表示にしたい

=INDEX(A3:A40, MATCH(1, H3:H40,0))
この数式間場合、該当なしで#N/Aがでるときに非表示(空白)にしたいのですが、どのようにすればいいでしょうか?

Aベストアンサー

=IF(ISNA(INDEX(A3:A40,MATCH(1,H3:H40,0))),"",INDEX(A3:A40,MATCH(1,H3:H40,0)))

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QINDEXとMATCH関数について。

業務で使用しているファイルにINDEXとMATCHを組み合わせた関数を使っています。
=INDEX(Sheet4!E2:E999,MATCH(Sheet1!F17,Sheet4!A2:A999,0)+2,0)
です。
教えて頂きたいことは、
・上記の関数の説明(詳細)この関数はどういったしくみになっているのか。
・セルが空白のときに#N/Aを表示させないこと。
・完全一致型にしたいこと。
この3点を教えて頂けませんか?よろしくお願いします。

Aベストアンサー

こういったQAサイトでお尋ねになるのもいいのですが、インターネットでどんどん検索しましょう。無数に情報があふれていますよ。ITが得意になるには、ネットでいろいろ調べることです。


●関数や数式全体の仕組み。例えばこんな表があるとき。

  A   B   C
1    年齢 性別
2 鈴木  35  男
3 田中  24  女

同じシートのどこかのセルに「=index($B$2:$C$3,2,1)」と入力すると、(A1:C3ではなく)B2:C3という表の、2行1列の位置にあるデータである「24」を取ってきます。

なお「=index($B$2:$C$3,2,0)」と入力すると、エラーです。「0」は、列を未指定なのと同じなので、質問文の式ように検索する範囲がもともと1列(E列)のみの範囲でない限り、省略できません。上の例では2行2列の範囲だから、「24」と「女」の2つのデータが該当してしまうので、エラーです。

また、同じシートのどこかに「=match("田中",$A$2:$A$3,)」とか、あるいは「=match("田中",$A$2:$A$3,0)」でも同じですが、入力すると、「2」が算出されます。これは、A2:A3という範囲の中で、「田中」は何番目のセルにあるのか?というのを調べた結果です。

MATCH関数の引数0は、用途によっては1や-1を指定することもでき、完全一致ではない近い値のものを拾って、それが何番目なのかを求めることになります。

上の例ではMATCH関数による計算結果が「2」になるわけだから、INDEX関数の「2」という引数を、「=match(…」という式で書き換えてあげることができそうですね?そうすれば、質問文のようなINDEX(MATCH)という式ができ上がります。INDEX関数の「1」も書き換えれば、INDEX(MATCH,MATCH)という形で使われることもありそうですね?

●空白の場合にエラー回避

Excel2007以降では、No.2さんのおっしゃるIFERROR関数が便利です。式が短くて済みます。昔のバージョンでは、No.1さんのようにIF関数と「""」で場合分けし、「""」という結果を返すようにすればいいですね。または、空白では結果がゼロになるような式にしておいて、セルの書式や、シート全体のオプションでゼロだけ表示させないようにすることもできます。

●完全一致型にしたいこと

No.1さん、No.2さんのご説明どおりです。


ところで、質問文の数式が入力されているシートは、もしかして「Sheet1」だったりしませんか?その場合は、式中の「Sheet1!」という部分は不要なので、削っても大丈夫です。シートのタブをマウスでクリックすると、この部分が自動的に入力されるのです。

こういったQAサイトでお尋ねになるのもいいのですが、インターネットでどんどん検索しましょう。無数に情報があふれていますよ。ITが得意になるには、ネットでいろいろ調べることです。


●関数や数式全体の仕組み。例えばこんな表があるとき。

  A   B   C
1    年齢 性別
2 鈴木  35  男
3 田中  24  女

同じシートのどこかのセルに「=index($B$2:$C$3,2,1)」と入力すると、(A1:C3ではなく)B2:C3という表の、2行1列の位置にあるデータである「24」を取ってきます。

なお「=index($B$2:$...続きを読む

Qエクセル INDEX関数 INDEX(○:○,○,○)&"" の 「&""」部分について

エクセル INDEX関数 INDEX(○:○,○,○)&"" の 「&""」部分はどういった働きがあるのでしょうか?
何を意味するのでしょうか?

また、これについて詳しく説明のあるHPなはありませんか?

よろしくご教授お願いいたします。

Aベストアンサー

&""をつけると、INDEX(○:○,○,○)の値が文字列に変換されます。
これをつけないと、INDEX関数で参照したセルが空白のときに0と表示されてしまいます。

単純な例で試すと、A1に何も入力しないで、他のセルに
=INDEX(A1:A1,1,1)
と入力すると、0が表示されると思います。
=INDEX(A1:A1,1,1)&""
とすれば、空白になります。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QExcel MATCH関数で検索範囲内に同じ値の検索値が複数ある場合

MATCH関数で、検索した値が複数ある場合に1つしか出なくて困っています。
(例)
   A B C D
1 年月日 種類 番号 備考
2 4月1日 肉類 1
3 4月2日 野菜 2
4 4月3日 肉類 1
5 4月4日 果物 2
6 4月5日 野菜 1
7 4月6日 果物 3
8 4月7日 果物 2
9 4月8日 肉類 1

この表で、D9の備考の欄に「種類:肉類、番号:1」と同じものがあった時の日付を、新しい日付で取り出したいのです。

INDEX(A2:A8,(MATCH(B9,B2:B8,0)+MATCH(C9,C2:C8,0))/2)
としたのですが、本当は4月3日を取り出したいのですが、4月1日が出てきます。
どのようにしたら良いでしょうか?
Excel2003です。
よろしくお願いします。

Aベストアンサー

MATCH関数を使用しませんが、D9の書式を日付にして、
=MAX((A2:A8)*(C2:C8=1)*(B2:B8="肉類"))
と、入力してShift+Ctrl+Enterキーで入力完了してみてください(配列式になります)。

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QVLOOKUP関数で空白を選択すると「0」と表示されるのですが

VLOOKUP関数で他シートのアドレス帳から住所名前等を引き出し、別シートで宛名ラベルを作っています。
この時、何も記入されていないシートをVLOOKUPで読み込んだ場合に、宛名に「0」が表示されてしまうのですが、これを表示させない方法はどうしたらよいのでしょうか?

また以前は「0」では無く、「N#A(記憶が曖昧ですが)」のような表示がされていたんですが、どうして変ったんでしょううか?

よろしくお願いします。

Aベストアンサー

検索値が見つからない場合は #N/A エラーになります。
検索値が見つかったが、参照する列が空白の場合は 0 になります。

ISERROR や ISNA 等を使ってエラーの場合は空白にすれば、#N/A は表示されなくなります。
例)=IF(ISERROR(VLOOKUP($A2,検索範囲,2,0)),"",VLOOKUP($A2,検索範囲,2,0))

この状態で ツール-オプション-表示タブの「ゼロ値」を外せば #N/A も 0 も見えなくなります。
ただし、検索結果以外の 0 も見えなくなりますのでそれがまずいようなら、

=IF(ISERROR(VLOOKUP($A1,検索範囲,2,0)),"",IF(VLOOKUP($A1,検索範囲,2,0)=0,"",VLOOKUP($A1,検索範囲,2,0)))

のような感じにすると#N/A も 0 も見えなくなります。

Qエクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。

               A列   B列    C列
Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。
Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。

AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。

VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

Aベストアンサー

こんばんは!
一例です。
↓の画像で右側(Bファイル)の方に作業用の列を設けています。
作業列D2セルを
=A2&B2
としてオートフィルで下へずぃ~~~!っとコピーします。

そして、AファイルのD2セルに
=IF(OR(A2="",COUNTIF([Bファイル.xls]Sheet1!D$2:D$1000,A2&B2)=0),"",INDEX([Bファイル.xls]Sheet1!C$2:C$1000,MATCH(A2&B2,[Bファイル.xls]Sheet1!D$2:D$1000,0)))
という数式を入れ、オートフィルで下へコピーすると
画像のような感じになります。
尚、数式はBファイルの1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング