- ベストアンサー
エクセルでセル値を読み込んで自動表示する方法
- エクセルのシートに連番選択用のセルと連番、項目、日付、番号、表示の列があります。
- 連番選択のセルに96を入れていますが、この時連番96の行を参照し、右隣のセル項目の中に「A」が入っていれば、同行の表示に14-09-003と表示を行いたいと思います。
- 連番のセルに何も入っていない時には表示列には何も表示させたくありません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>このようなことが可能でしょうか? 可能です。 提示させない条件は次の3要素なので各行について条件を比較します。 1.連番のセル(A列)に何も入っていない時には「表示」列には何も表示させない。 2.連番選択のセル($C$1)と連番のセルが等しくないときは何も表示させない。 3.項目のセル(B列)に"A"が含まれないときは何も表示させない。 各要素をOR関数でチェックし何れかが該当するときは何も表示させないようにIF関数で条件分岐させます。 何れも該当しない場合は日付の年月と連番を連結した文字列を表示すれば良いでしょう。 C5セルに設定する具体的な数式は次のようになります。 =IF(OR(A5="",A5<>C$1,FIND("A",B5&"A")>LEN(B5)),"",TEXT(C5,"yy-mm-")&TEXT(D5,"000")) FIND関数でのエラーを回避するためにB列の値の後尾に"A"を連結し、B列の文字列長を超えるときはB列の文字列に"A"が含まれないと判断します。 C5セルを下へ必要数だけコピーしてください。 貼付画像はExcel 2013で検証した結果ですが他のバージョンでも同じ結果が得られるはずです。
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! http://okwave.jp/qa/q8739285.html の関連の質問ですね。 D列には数式が入っていて、お示しのような表示になっているとして E5セルに =IF(AND(A5=C$1,D5<>""),TEXT(C5,"yy-mm-")&TEXT(D5,"000"),"") として下へコピーしてみてください。m(_ _)m
お礼
まことにありがとうございます。もっと複雑になるかと想像しておりましたが、とてもシンプルかつ的確な回答でありがたいです。助かりました。
お礼
ありがとうございます。関数の具体的な説明をありがとうございます。エクセルを勉強する上で大変助かります。