これからの季節に親子でハイキング! >>

よろしくお願いします。

下記表のG列とH列に同じ字列がある行に印をつけたいです。
金額+会社+種目+開始日で氏名にダブりがないか検索していましたが、
中途解約日に同じ開始日があった場合も同じ契約として検索したいです。

サンプルの場合、G2とH4が同じなのでI2とI4にマークをつけたいです。
IF・Countifなどを組み合わせてみましたが、うまくできませんでした。
どうかお知恵をお貸しください。

バージョンはExcel2010です。

「条件に合ったセルの横にマークをつけたい」の質問画像

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

A 回答 (5件)

I2に↓以下コピーで良いかな


=IF((COUNTIF(H:H,G2)+COUNTIF(G:G,H2))>0,"★","")
    • good
    • 0
この回答へのお礼

ご教示いただいた式とG列の重複結果を組み合わせて希望の結果が表示できました。
ありがとうございました。

お礼日時:2014/06/04 14:38

>下記表のG列とH列に同じ字列がある行に印をつけたいです。


「金額+会社+種目+開始日」がG列に連結文字として記録されていますが「氏名」のA列についてチェック対象外になっているのは何故ですか?
重複データのチェックであれば氏名も含めないと正しい判定になりません。

>中途解約日に同じ開始日があった場合も同じ契約として検索したいです。
この条件はどのようなことを意図されていますか?
例題の新井=アライ、開始日の20140331=途中解約日の20140331の他、金額、会社、種別が同じと言う条件で重複と判断するのでしょうか?
実際のデータとして開始日同士が同じで金額、会社、種別同士も同じで氏名が異なるものは無いのでしょうか?
模擬データとしてはそれらの条件も含めて検証しないと正しい処理ができる数式を組み立てられません。

条件をもう1度見直してください。
既に出ている回答で見落としが出るかも知れませんので念のため再確認されることをお勧めします。
    • good
    • 0

=IF(AND(ISNA(VLOOKUP(G2,H:H,1,FALSE)),ISNA(VLOOKUP(H2,G:G,1,FALSE

))),"×","○")
    • good
    • 0

G列の中同士、H列の中でも重複があるかも?しれません。



I2:
=IF(SUMPRODUCT(COUNTIF(G:H,G2:H2))>COUNTA(G2:H2),"重複あり","")
以下コピー。
    • good
    • 0

IF&OR関数連合とVLOOKUP関数でいけますね



表示以降は空白セルとして

I2=IF(OR(G2=J2,H2=K2),"○","")
J2=VLOOKUP(G2,H$2:H$5,1,FALSE)
K2=VLOOKUP(H2,G$2:G$5,1,FALSE)

注)H$5とG$5はこの表で完結の場合としての数字のため最終行にしておく必要があるのでH$1000とかの方が実際はよいですいくつまでコピーするかによって変更してください。

後はこの3行を注意書きに気をつけて下へコピーすればOKです
    • good
    • 0

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

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

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

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

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

QExcelで条件が一致する場合、○印で表示する

Excelの関数についての質問です。

(列A)    (列B)   (列C)
相原久美子   相原久美子  ○
高橋 聡子   上田かなえ  ○
上田 かなえ  竹中聡美
武田 良子

列Bにデータを入力した際、列Aに同じものがあれば○を、
そうでなければ何もしないという関数を作成したいと思います。

今のところはCOUNTIF関数を使い、
=IF(COUNTIF($A$1:$A$4,B1)>0,"○","")
のように組んでいますが、氏名の間に空欄を含んだ場合の処理が
うまくいきません。

何か良い方法はありませんでしょうか。よろしくお願い致します。

Aベストアンサー

こんにちは
作業用セル列Dを作って列Aの空白を処理する例です。
D列に以下の関数を入れて空白を取り除きます。
=SUBSTITUTE($A1," ","")

C列に質問者さんの式を変形して入れます。
=IF(COUNTIF($D$1:$D$4,B1)>0,"○","")

Qエクセル IF関数 条件を満たす行に印をつける

A1:J30までにランダムな数値が入力されている表があります。M1:N4には検索値を入力できる箇所があり、条件に該当する行があればK列に○を付ける、ということがしたいです。その条件は、

(1)M1かN1に該当する
(2)M2かN2に該当する
(3)M3かN3かM4かN4に該当する

この3条件のすべてを満たす行があればK列に○です。

いろいろ調べて、IF関数とsumproductを組み合わせてやってみたのですが、正しい結果にならずお手上げ状態です。(ちなみにこれ↓長すぎなのもネック。。。)
=IF(AND(SUMPRODUCT((A1:J1=$M$1)+(A1:J1=$N$1))>=0,SUMPRODUCT((A1:J1=$M$2)+(A1:J1=$N$2))>=0,SUMPRODUCT((A1:J1=$M$3)+(A1:J1=$N$3)+(A1:J1=$M$4)+(A1:J1=$N$4)>=0)),"○","")

IF関数でなくてもできれば何でも良いので、教えてください。
よろしくお願いいたします。

Aベストアンサー

K1セルには次の式を入力して下方にドラッグコピーします。

=IF(AND((COUNTIF(A1:J1,M$1)+COUNTIF(A1:J1,N$1))>0,(COUNTIF(A1:J1,M$2)+COUNTIF(A1:J1,N$2))>0,(COUNTIF(A1:J1,M$3)+COUNTIF(A1:J1,N$3)+COUNTIF(A1:J1,M$4)+COUNTIF(A1:J1,N$4))>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行までとしていますが、必要に応じて変更して下さい

Qエクセルで2つのシートに同じ名前があれば印をつける

シート1はイベント参加者名、シート2は注文者です。
どのイベントに参加した人が注文しているか調べたいのです。
注文者シートの氏名列にイベント参加者と同じ名前があれば、印をつけたいと思います。

イベント参加者のシートは
   A          B  
会場番号       氏 名

一人の人が何回もイベントに参加している場合は想定していません。


別シートに抜き出すのではなく、注文者シートに列を追加してそこに会場番号が表示されたらすごくうれしいです。
どうぞよろしくお願いします。

Aベストアンサー

シート2のA列に注文者の名前が有るとして。例えばC1セルに次の式を入力して下方にドラッグコピーすることでシート1に同じ名前の参加者が有る場合にその方の会場番号を表示します。

=IF(OR(A1="",COUNTIF(Sheet1!B:B,A1)=0),"",INDEX(Sheet1!A:A,MATCH(A1,Sheet1!B:B,0)))

印をつけるとの作業は上の作業で良いのでしょうか。
シート1のB列の名前がシート2の注文者の名前と一致すればシート1のC列に○などの表示をさせるのでしたらシート1のC1セルには次の式を入力して下方にドラッグコピーします。

=IF(COUNTIF(Sheet2!A:A,B1)=0,"","○")

=

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エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

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

               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エクセルのIF関数で、文字が入力されていたならば~

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

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すると関係ないセルの値が返るので、
場...続きを読む


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

人気Q&Aランキング