- ベストアンサー
EXCELでの商品情報の別シート作成方法を教えてください
- 商品管理にEXCELを使っており、商品情報が書かれたSheet1の各項目を記号化した別シート(Sheet2)を作成したいです。具体的には、Sheet1のA列に”○○”と記載されている場合には、Sheet2の同位置には、”1”と記載したいです。
- 別シート(Sheet2)に商品情報を記号化する方法を教えてください。たとえば、Sheet1のA列に”○○”と記載されている場合には、Sheet2の同位置には、”1”と記載したいです。
- EXCELを使って商品情報を管理しているのですが、Sheet1に書かれた情報を別のシート(Sheet2)で記号化したいです。Sheet1のA列に”○○”と記載されている場合には、Sheet2の同位置には、”1”と記載したいです。どのような関数や数式を使えばよいでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
商品の数が少なければ、IF関数で十分です。 IF(Sheet1!A1="○○" , 1 , IF(Sheet1!A1="△△" , 2 , IF(Sheet1!A1="□□" , 3 , ""))) こんなんで良いでしょう。 商品数が3どころか100以上あるとか、質問にある条件以上のものが想定されるなら VLOOKUP関数を使用しましょう。 縦一列(例えばB列)に商品名、その横(例えばC列)に番号(?)などの 情報を並べたリストを作成し、その範囲に「範囲名」(例えば“検索範囲”)を付けます。 VLOOKUP( A1 , 検索範囲 , 2 , FALSE ) などとしましょう。 ちなみにリストの範囲に範囲名を付けるのは、リストが更新される都度、関数を変更しなくても済むようにするためです。 この場合、リストの範囲を修正すれば良いのですよ。 ※IF関数や、VLOOKUP関数の使い方について分からない場合は、 Excel関数の解説書や関数の解説をしているサイトを参照して理解するようにしましょう。
その他の回答 (4)
- Nouble
- ベストアンサー率18% (330/1783)
ご使用のExcelが2003以前の場合 =IF(SUMPRODUCT(1-ISERROR(FIND("○○",Sheet1!A1:A65535)))<1,"",TEXT(1,0)) &IF(SUMPRODUCT(1-ISERROR(FIND("△△",Sheet1!A1:A65535)))<1,"",TEXT(2,0)) &IF(SUMPRODUCT(1-ISERROR(FIND("□□",Sheet1!A1:A65535)))<1,"",TEXT(3,0)) ご使用のExcelが2007以降の場合 =IF(SUMPRODUCT(1-ISERROR(FIND("○○",Sheet1!$A:$A)))<1,"",TEXT(1,0)) &IF(SUMPRODUCT(1-ISERROR(FIND("△△",Sheet1!$A:$A)))<1,"",TEXT(2,0)) &IF(SUMPRODUCT(1-ISERROR(FIND("□□",Sheet1!$A:$A)))<1,"",TEXT(3,0)) ISERROR(FIND("○○",Sheet1!$A:$A)) は、配列数式になるため SUMPRUDUCT又はOR(NOT(… で集計してやる必要があるのですね、忘れてました。 済みません。 如何でしょうか? お役に立てていたならば幸いです。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート1のA1セルから下方にデータが入力されているとして、例えばE列とF列には記号について対応する数値との関係を入力します。E1セルに○○と入力してF1セルには1を、E2セルには△△と入力してF2セルには2というように下段に入力してゆきます。 その上でシート2のA1セルには次の式を入力して下方にドラッグコピーします。 =IF(COUNTIF(Sheet1!$E:$E,Sheet1!A1),INDEX(Sheet1!$F:$F,MATCH(Sheet1!A1,Sheet1!$E:$E,0)),IF(Sheet1!A1="","",Sheet1!A1)) 上の式ではA列のセルに別の記号や文字が有る場合にはその記号や文字が表示されます。 E列で入力したデータが有るセルだけを数値で表示させる場合には次の式をA1セルに入力して下方にドラッグコピーします。 =IF(COUNTIF(Sheet1!$E:$E,Sheet1!A1),INDEX(Sheet1!$F:$F,MATCH(Sheet1!A1,Sheet1!$E:$E,0)),"")
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! IF関数のネストでも対応できますが、 別案として・・・ Excel2007以降のバージョンをお使いだとします。 Sheet2のA1セルに =IFERROR(INDEX({1,2,3},MATCH(Sheet1!A1,{"○○","△△","□□"},0)),"") という数式を入れオートフィルで下へコピーしてみてください。 ※ Excel2003までの場合はIFERROR関数は使用できませんので =IF(OR(Sheet1!A1="○○",Sheet1!A1="△△",Sheet1!A1="□□"),INDEX({1,2,3},MATCH(Sheet1!A1,{"○○","△△","□□"},0)),"") という数式にしてみてください。m(_ _)m