プロが教えるわが家の防犯対策術!

エクセルで作った表を別のシートに別の文字で反映させる方法を教えてください。
たとえば、
sheet1で作成した表のセルに「数字」と打ち込んだ場合、自動的にsheet2の選択したセルに「1」と表示させる、というような…。

自力で頑張ってみたところ、別の表に参照することはできたので、そこから置き換え機能で…と思ったのですが、見た目ではそのままの文字が反映されていても文字列ではなく、関数であるため、置き換え機能を使うことができませんでした。

なにか良い方法はないでしょうか?行き詰っているので、ご教示ください。

質問者からの補足コメント

  • うーん・・・

    ご回答ありがとうございます。
    すみません、できるだけ質問がややこしくならないようにと考えたのですが余計にややこしくしてしまったようです。
    条件は複数あります、
    ・(先程の記述通り)数字が入力されたセルを別のシートで指定の数字に反映させたい
    ・条件は3つ以上ある(記述を失念していました)

    具体的な例をあげると、
    SHEET1の表で、休み、勤務、有休、その他
    という表を作った場合
    SHEET2の表で、SHEET1で休みならば1、SHEET1で勤務ならば2、・・・。
    と表示させたいです。

    以上、補足になります。宜しくお願いします。

    No.2の回答に寄せられた補足コメントです。 補足日時:2015/08/21 15:40

A 回答 (5件)

No.4です。



>イレギュラーで、8、3、5とばらばらの数字を表示させたい・・・
というコトですので、
数式だけで処理する場合仮に 8、3、5、2 の並びだとすると
前回の配置でSheet2のA1セルに
=IF(Sheet1!A1="","",INDEX({8,3,5,2},MATCH(Sheet1!A1,{"休み","勤務","有休","その他"},0)))

という数式を入れ、フィル&コピーで対応できると思います。
尚、前回書いたように別表を作成しておけばもっと簡単な数式で大丈夫です。

↓の画像のようにSheet2のG・H列に対応表を作成しておくと
Sheet2のA1セルの数式は
=IFERROR(VLOOKUP(Sheet1!A1,$G:$H,2,0),"")

とすればOKのはずです。あとはG・H列の表を変更するだけで
数式に手を加える必要はありません。m(_ _)m
「Exel(エクセル)別のシートに違う文字」の回答画像5
    • good
    • 2

こんにちは!


横からお邪魔します。

やり方だけ・・・
Sheet1とSheet2のセル位置は全く同じだという前提です。

↓の画像でSheet2のA1セルに
=IF(Sheet1!A1="","",MATCH(Sheet1!A1,{"休み","勤務","有休","その他"},0))

という数式を入れ、列・行方向にフィルハンドルでコピーしています。

※ Sheet1にお示しの4条件以外のデータが入るとエラーになります。
※ 今回は4条件だけのようなので、数式に条件を組み込んでいますが、
もっと増える場合は表を作成し対応させるほうが簡単だと思います。m(_ _)m
「Exel(エクセル)別のシートに違う文字」の回答画像4
    • good
    • 0
この回答へのお礼

助かりました

ご回答ありがとうございます!とても参考になりました!
教えていただいた関数では1、2、3のような昇順にしか対応できませんか?
イレギュラーで、8、3、5とばらばらの数字を表示させたい場合もあるので…
質問に質問を重ねてしまい申し訳ございませんが、ご教示いただけると助かります。

お礼日時:2015/08/21 16:43

どこのセルにかを書かれていませんが、たとえばSheet2!A1セルに


=IF(Sheet1!A1="","",MATCH(Sheet1!A1,{"休み","勤務","有休","その他"},0))
としてオートフィル
その他、検索系の関数、VLOOKUPを使った方法などで別表(対応表)から引っ張ってくることも可能です。
    • good
    • 1

例示されているのが1つのケースだけですので、もう少しどういったことをしたいのか具体的に書いてほしいですね。



今回のケースですと、№1さんのように数式で出す方法もありますし、例えば表示だけでいいのなら「=Sheet1!A1」のように入れ、セルの書式設定のユーザー設定で「;;;”1”」とすれば参照元が文字列ならどんな文字でも1と表示されます。(あくまでも表示のみ。)
数字以外に入力する文字があるのか、表示したいのは1だけなのか、何かルールがあるのかなど条件が後出しになるとややこしくなりますので、先に教えておいていただけると手間が省けます。
この回答への補足あり
    • good
    • 0

IF関数でいいだろう。


Sheet1のA1セルに「数字」と入力し、
Sheet2のB1セルに「1」と表示させるなら
Sheet2のB1セルに
=IF(Sheet1!A1="数字",1,"")
これでよい。
他のシートを参照する時は
Sheet名!セル番地
のように記述する。
シート名が複雑すぎて入力を間違えるようであれば、
Sheet1の空いている場所に
=IF(A1="数字",1,"")
と入力したセルをコピーして、Sheet2に貼り付ければよい。
自動的にシート名を補完してくれる。
    • good
    • 0
この回答へのお礼

助かりました

ありがとうございます。試してみたところ、条件が2つ以内のものはchonamiさんが教えてくださった方法で解決しました!
とても勉強になりました、ありがとうございます。

お礼日時:2015/08/21 15:41

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