• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELの関数を使って以下の処理作業がしたいです)

EXCELでの商品情報の別シート作成方法を教えてください

このQ&Aのポイント
  • 商品管理にEXCELを使っており、商品情報が書かれたSheet1の各項目を記号化した別シート(Sheet2)を作成したいです。具体的には、Sheet1のA列に”○○”と記載されている場合には、Sheet2の同位置には、”1”と記載したいです。
  • 別シート(Sheet2)に商品情報を記号化する方法を教えてください。たとえば、Sheet1のA列に”○○”と記載されている場合には、Sheet2の同位置には、”1”と記載したいです。
  • EXCELを使って商品情報を管理しているのですが、Sheet1に書かれた情報を別のシート(Sheet2)で記号化したいです。Sheet1のA列に”○○”と記載されている場合には、Sheet2の同位置には、”1”と記載したいです。どのような関数や数式を使えばよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.3

商品の数が少なければ、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)
回答No.5

ご使用の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(… で集計してやる必要があるのですね、忘れてました。 済みません。 如何でしょうか? お役に立てていたならば幸いです。

回答No.4

=if(sheet1!a1="","",match(sheet1!a1,{"○○","△△","□□"},)) IF 関数の第 2 引数を含む部分「,"",」を「,,」に書き換えると、Sheet1 の A 列が未入力の場合に、Sheet2 に「0」を表示します。上式では、空文字列 ""(見た目は空白)を返します。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート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)
回答No.1

こんにちは! 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

関連するQ&A