- ベストアンサー
エクセルで別シートで同じ値があったら〇を付けたい
- 在庫らくだで出力した入出庫帳のエクセルファイルにある今回の基板で使われている部品約200点の入庫情報だけを抽出し、一致する部品には〇を表示したい。
- それには、エクセル関数の式を使用して、入出庫帳のD列と部品表のB列を比較し、一致する場合は〇を表示する。
- しかし、現在の式では結果がすべて#VALUE!となってしまうため、正しい方法を知りたい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
=IF(D2="","",IF(COUNT(部品表URL!$B:$B,D2)>0,"〇","×"))
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルの関数の質問に、質問者の仕事の状況を、あれこれ詳しく書く必要はないと思う」。 読者には興味なく質問点がぼやけるだけ。 其れより、問題の「パターンを認識する(書く)」ことが大切。 ーー 其れより、数個のデータ例を挙げる方がよいと思う。 一部一致かどうかわかる、など。 ーー COUNTIF関数の引数は、「検索範囲」と「捜す文字列」であるが、順序をまちがえないこと。 「捜す文字列」が都度変わるので、式を複写することになるので、探されるセル番地には、都度ズレないよう$を付けること。 また部分一致を考えるのか、全一致か 質問でははっきりしない。部分位置ではないのか? コンピュータ処理では、1つか複数か、一部か全的か、は常に問題になるので、 どんな式を書いたのか、1例でも挙げて質問すべきだし、データ例も必要と思う。 === 既に出ている解答で指摘があるが、 (1)セル番地にが$を付けること (2)COUNT関数ではなく、COUNTIF関数を使う(問題とするのは、文字列だろうから) と思う。 ーー 一致が部分位置を探す、の場合は 特定の文字列を含む/含まないをCOUNTIF関数でカウント の場合は「ワイルドカード」が使えるかどうか考えるべきかも。 WEB照会で照会すれば記事がたくさん出る。 https://daitaideit.com/excel-countif-wildcard/など多数。
お礼
ただ、エクセルファイルが28,000行程度あるからか、正常に計算ができず途中でエラーが発生してしまいます。 今回の基板の部品分の入庫情報だけにすれば1,000行程度になるので、一旦それで試してみようと思います。 助かります。
- kagakusuki
- ベストアンサー率51% (2610/5101)
その関数で#VALUE!が出るという事は、COUNTIF関数の「範囲」に指定している '部品表URL'!$B:$B という部分におけるシート名が間違っている可能性が高いと思われます。 一見同じシート名に見えても使っている文字が全角文字のところを半角文字で記述してしまっていたり、「'」のところを別の記号になっていたりするかもしれません。 或いは、部品表URLシートが別のExcelbook上に存在していて、部品表URLシートが存在しているファイル名を指定していないため、部品表URLシートが存在していないシート扱いになっている事も考えられます。
お礼
回答頂きありがとうございます。 式の一部を修正で〇✕表示できるようになりました。 ただ、エクセルファイルが28,000行程度あるからか、正常に計算ができず途中でエラーが発生してしまいます。 今回の基板の部品分の入庫情報だけにすれば1,000行程度になるので、一旦それで試してみようと思います。 助かります。
お礼
回答頂きありがとうございます。 教えて頂いた式で〇✕を表示できるようになりました。 ただ、この〇✕表示を判断するD列が28,000行程度あり、この式を28,000行すべてにコピペしたところ、式の計算結果が計算中にoneDriveのクラウドサーバとの通信がタイムアウトしてしまうらしく、途中でエラーが発生したとの表示が出て〇✕表示ができない箇所が出てきてしまいました。 この〇✕表示を追加する入出庫帳のファイルで、今回の基板で使用する部品の入庫情報のみを抽出してみようと思います。