プロが教える店舗&オフィスのセキュリティ対策術

下記のような一覧があります。
日付管理番号  取引コード 予算コード
9月10日 A0001   123456 H060001
9月28日 A0023   123456 H060001
9月18日 A0048    123456 H060021
9月13日 A0050   123456 H060001
9月10日 A0060    123456 H060001
 ・      ・       ・       ・
 ・      ・       ・       ・
 ・      ・       ・       ・

取引コードが123456の時は、予算コードはH060001と入力せねばなりません。
ですが、三番目のように、H060001をH060021と誤って入力しているもののみを
見つけたいのです。
上記の表の場合、「9/18 A0048」を書き出すことになります。

同月内では、同じ管理番号は発生しません。
取引先コードは複数あり、それごとに紐付けしている予算コードも
取引先コードの数分あります。

現在はオートフィルタにて、取引先コードを上記のように一つ分だけ抽出して、
予算コードが間違ってるのを一つずつ探してます。
関数で処理できる方法はありますか?

管理番号と日付を表さずとも、エラーだけ出す方法でも構いません。
どうかご教授ください。

A 回答 (5件)

取引コードと予算コードが 1対1でしたら、ブックかシートのどこかに2列のテーブルを作成し、vlookupを使えばできます。


テーブルにCODEという名前をつけるとします。
取引コード 予算コード
12345    H060001
23456    S470002
34567    H050233

で、もとの表の右列に
=IF(VLOOKUP(C2,CODE,2,FALSE)<>D2,B2,"")とすれば エラー行に管理番号が表示されます。 日付も一緒にとなると、ややこしいか(といいますか、私には方法がわかりません)できないので、これでいかがでしょうか。
    • good
    • 0

こんにちは。



 取引コードと予算コードの表を別のシートに用意して、vlookup関数で、取引コードから(別シートの)予算コードを検索し、その結果と、現シートの予算コードがあっていたら「○」違っていたら「×」を表示する式を予算コードの右の欄に作成してはどうでしょう。
 関数の引数は
  VLOOKUP(検索値,範囲,列番号,検索の型)
 です。
 この場合、検索値を取引コード(例えばC2)、範囲を別シートの一覧表、列番号は予算コードをB列に入れたら2、検索の型はFALSEとし、
 =vlookup(C2,[範囲],2,FALSE)
 で別シートから予算コードが求められるので、if関数で判定すればよいと思います。

では。
    • good
    • 0

こんにちは~♪



charisanさん、失礼しま~す。。。
charisanさんの回答の追加になりますが~。。。

日付と管理番号を一緒に
右側の列(E列)1列に表示させるのでしたら
E2: =IF(VLOOKUP(C2,CODE,2,FALSE)<>D2,TEXT(A2,"m/d ")&B2,"")
下にコピーして下さい。

。。。。Rinでした~♪♪
    • good
    • 0

E2=SUMPRODUCT(($C$2:$C$100=$C2)*($D$2:$D$100=$D2))


として取引先コード毎の予算コードの個数は出せます。
全部の予算コードが間違ってない限り、個数の少ないものがエラーとして抽出は如何でしょうか?

それとも
>取引コードが123456の時は、予算コードはH060001と入力せねばなりません。
がすべての取引先で固定なら別表を作成しておいて
E2=VLOOKUP($C2,別表,2,FALSE)=$D2
で結果がTRUE以外(予算コード間違いはFALSE、取引先コードなしは#N/Aと表示)で抽出
    • good
    • 0

こんにちは。


>下記のような一覧
が、A~D列にあり、E列に書き出す場合、
=IF(AND(C1=123456,D1="H060001"),"",TEXT(A1,"m/d ")&B1)
※「取引コード」が文字列の場合は「C1="123456"」としてください。
    • good
    • 0

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