• 締切済み

セルに入力したら、別の特定セルに文字表示させるには

似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。

みんなの回答

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.5

> 詳細は、No.2さんのところに記述しましたが いまひとつ動作が具体的に頭に浮かんでこないのですが とりあえず Sheet1のどこかのセルに入力した値を元にどこかのセルにSheet2の対象アドレス(○を入力すべきセル番地)を表示させることができた(対象アドレスをセルαとしましょう) のでしたら 先に示した Sub kakikomi() Sheet2.Range((Sheet1.Range("Z1").Value))="○" End sub のZ1のところをセルαの番地に書き換えてマクロを実行してみてください。 ALT+F11でVBEが起動しますので左の窓にあるSheet1をダブルクリックして右に出た窓に 上記の SubからEnd Subまでをコピペしてマクロの実行で実行してみてください。

cat2828
質問者

お礼

回答ありがとうございます。 > Sub kakikomi() > Sheet2.Range((Sheet1.Range("Z1").Value))="○" > End sub > > のZ1のところをセルαの番地に書き換えてマクロを実行してみてください。 マクロはあまり詳しくないのですが、Z1という対象セルは1つしかだめですよね? 例えば、"○"と表示させたいセルが6~70ある場合は、マクロを複数(対象セルの数だけ)書かなければなりませんか。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>そのために、入力シートでは、それぞれのIDが選択した数値を入力 別シートでは、横に100番台、縦に200番台を配置した碁盤の目のようなシートを作成し、それぞれの該当セルに文字列「●」や「○」を表示させようと考えました。 >そこで、選択した数値から、該当セルを導き出すことまでは関数を用いてできたのですが、その後、その該当セルを選んで、そこに文字列を表示させる方法がわからず、困っておりました。 選択した数値と、該当セル位置の関係がわかれば基本的には関数で表示できます。 例えばSheet1のA1:A4セルに「○」を表示したいセル番地(たとえばB3やC5など)が入力されている場合、Sheet2の該当セルに以下の数式を入力すれば該当セルに「○」を表示することができます。 =IF(COUNTIF(Sheet1!$A$1:$A$4,ADDRESS(ROW(),COLUMN(),4)),"○","") この場合、当然のことですが、「●」や「○」の区別の条件や、選択した数値の入力セルが一定の範囲に固定されている必要があります。 #補足説明を読んでも、まだ質問内容が把握できません(例えば数値が2ならどうしてB5セルに表示するのか)。 具体的な回答を期待するなら、セル番地や数値データなど実際のデータに即した例で説明するようにしてください。

cat2828
質問者

お礼

何度も回答をありがとうございます。 > 選択した数値と、該当セル位置の関係がわかれば基本的には関数で表示できます。 > この場合、当然のことですが、「●」や「○」の区別の条件や、選択した数値の入力セルが一定の範囲に固定されている必要があります。 上記の回答を元に多少修正をしたところ、希望するものを表示させることができました。 一定の範囲に固定して表示されていれば、COUNTIFを使えば表示することができたんですね。そんなことにも気づきもしなかったです。難しく考えすぎていたようです。 分かりにくい説明だったのに、ご理解&ご回答いただき、 本当にありがとうございました。 おかげで考えていたものを作成することができ、助かりました。 > #補足説明を読んでも、まだ質問内容が把握できません(例えば数値が2ならどうしてB5セルに表示するのか)。 101番が数値2を選択したらセルB5に入力、102番が数値2を選択したらセルD5に入力、同様に規則性をもたせるようにしたため具体的な数値で間違いはないのですが、作成シートを見ながらの詳細説明でなければ、やはりわかりづらかったと思います。 そんななかでご回答いただきまして、本当にありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

> 途中経過として、MATCH関数、ADDRESS関数を利用して > sheet1のセルに数値入力をしたら > sheet2の入力すべきセル番地を求めることまではできたのですが > その求めたセルがすべて異なるので、それぞれのセルに移動させて > 文字列を表示させることができずに困っています。 関数で値を表示させようとした場合、表示させたいセルにその関数を記載します。 この文章の感じからすると、入力したセルの値を元にどこかのセルにSheet2の対象アドレスを表示させることができたので、そのアドレスに○等を入力したいという感じに取れるのですが、そういう意味でしょうか。それだとマクロを利用する方法になると思われます。 たとえば、対象アドレスを表示させているセルがZ1だとしたら Sub kakikomi() Sheet2.Range((Sheet1.Range("Z1").Value))="○" End sub みたいなマクロです。 が、○等を表示したいセルと数値を入力するセルや数値になんらかの規則性があればSheet2の各セルに規則性を盛り込んだ式を書き込んでやることで解決することもあるでしょう。 ただし、質問の例では規則性はないようですね。

cat2828
質問者

補足

回答ありがとうございます。 > この文章の感じからすると、入力したセルの値を元にどこかのセルに > Sheet2の対象アドレスを表示させることができたので、そのアドレスに○ > 等を入力したいという感じに取れるのですが、そういう意味でしょうか。 はい。まさにその通りです。 詳細は、No.2さんのところに記述しましたが どんな数値が入るのか規則性は全くなく 従いましてsheet2の対象アドレスにも規則性はなく また全てバラバラとなってしまいます。 関数では無理で、あるとすればマクロしかないのかな と思っていましたが やはりマクロでも規則性がなければ、無理なのでしょうか。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

質問の意味がよくわかりません。 >例えば、sheet1のセルB3に「2」と入力したらsheet2のセルB5に「●」と表示 この部分を実行するなら、単純にsheet2のB5セルに以下の式を入力することになると思うのですが・・・ =IF(Sheet1!B3=2,"●","") もし上記の回答がご希望の回答でない場合は、具体的にどの部分が不都合なのか、あるいはそのような設定をしたい目的を具体的にわかりやすく例示して説明して下さい。

cat2828
質問者

お礼

回答ありがとうございます。 そうですね。全体像の一部分のみについて質問しているので、よけいに解りにくくなるのですよね。 少し複雑なものを作成しておりまして、101~180番と201~280番ぐらいのIDのそれぞれが、100番台は、200番台から好きな数値を2つ選択でき、同様に200番台は、100番台から同様に2つの数値を選択します。 それぞれ好きな番号なので、特に法則性はありません。 その、それぞれお互いに選択した番号がマッチしているペアを探し出す、というのが、もともとの目的です。 そのために、入力シートでは、それぞれのIDが選択した数値を入力 別シートでは、横に100番台、縦に200番台を配置した碁盤の目のようなシートを作成し、それぞれの該当セルに文字列「●」や「○」を表示させようと考えました。 そこで、選択した数値から、該当セルを導き出すことまでは 関数を用いてできたのですが、その後、その該当セルを選んで、そこに文字列を表示させる方法がわからず、困っておりました。 No.3さんがお答えのように、関数等では無理なのでは? マクロを組んだとしても解決できるのか?不明でしたので、質問させていただきました。 私の考えた方法ではなく、もっと何かいい案、考え方がありましたら、お願いいたします。

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

後半の部分は何だかよくわからないので最初だけですが・・・。 >>例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示<< sheet2のセルB5に =IF( Sheet1!B3=2,"●","")

cat2828
質問者

お礼

回答ありがとうございます。 単純に「●」表示のみであれば、IF関数等を使用すればいいのですが そうではなくて、sheet2の指定セルはすべてバラバラ 特に決まった法則はありません。 そのような方法が何かないだろうかと思い質問したのですが、 説明不足で申し訳ありませんでした。

関連するQ&A

  • 特定の文字を含むセル周辺を別のシートに表示させたい

    お世話になります。 Excel2002で次のことをやろうとしているのですが、良い方法が見つかりません。 特定の文字を含むセルと、その周辺の一部のセルを別のシートに表示させたい。 どのようにしたら良いかお教えください。 [元]のシートの"A1:E112"のセルに文字や日付、数値など色々入っています。 その中に"目的の文字"という文字を含んだ文字列が入っているセルがあります。 そのセルには、"目的の文字"の後ろに":変化する日付"が入っています。 つまり、次のようになっています。 "目的の文字:2015年10月23日"(日付は変化します) そして、このセルの位置はそのときによって"A15:C112"のセルの中で変化します。 このセルを含む周辺の一部のセルだけを[抽出]のシートに表示させたいのです。 表示させたいセル範囲は、"目的の文字"を含むセルの2行上から2列右までで、3行3列計9個のセルです。 画像の例では[元]のシートの"A35:C37"です。 可能であれば関数だけで解決したいのですが、そのような方法はあるでしょうか? 無理でしたらマクロで実行する方法はあるでしょうか。 よろしくお願いします。

  • 特定の文字を含むセルを探して別セルに表示させたい

    望んだ結果にならず困っています。 ご教授お願いします。 A列にいくつかの文字の入ったセルが並びます。 B1に探したい文字が入ります。 C1にB1に入れた文字を含むセルをA列から探し出し、表示させたいです。 A列の文字は重複しません。結果は必ず1個です。 A列は行数が10行~15行で変動します。 B1に入る文字は、A列のセルの一部です。 B1の文字が文字の一部なので、具体的に関数に探す文字を「*つてと*」と 入れてしまってもいいのですが、探す文字をセル指定(B1として) でできれば、より希望に沿うものとなります。 検索するセルが2個程度なら、望む結果が出せるのですが 複数のセルから探し出して、指定のセルに表示させるというのが どうもうまくできません。 よろしくお願いいたします。

  • 【excel2003 vba】指定した文字列が入力されている「セル範囲」の表示方法?

    ◎Sheet1  A B C D E 1○○○-- 2○○○×× 3---×× 4×○--- ※「-」は空白 上記のようにセルに「○」「×」が入力されている「Sheet1」シートがあります。(例として○×の2種類を使っていますが、本当はもっとたくさんの種類の文字列があります。) vbaを使って、以下の一覧表を「List」シートに作成するコードを作成できませんでしょうか? ◎List  A     B 1○     ×  '文字列の種類 2A1:C2  D2:E3 '文字列の範囲  3B4     A4  '同上 【ToDo】 (1)1行目に文字列(○、×)を入力する (2)1行目に入力してある文字列が入力されているすべての「セル範囲」を2行目以降の各列に抽出する。 **1セル内に「○」「×」の両方が入力されているものもある。**  ⇒例えば、A1セルに「○×」と入力されていたら、「Rist」シートのA列B列の両方に「A1」が抽出されるようにしたい。 1セルごとのセル番地(○:A1,A2,B1,…)を一覧化することはできるのですが、同じ文字列をまとめた「範囲」の抽出ができないのです。 どなたかお力添えをお願いできませんでしょうか? 宜しくお願い致します。

  • エクセルで、文字列を検索し、その文字を含んだセルの内容を別のシートに表示する。

    SHEET1のA列に文字列を含むデータがあります。 これをデータベースとして、 SHEET2のセルA1に「ある特定の文字列」を含むSHEET1のセルの内容を表示させたい場合、どのような関数を使ったら良いでしょうか。 具体的には、SHEET1に特許明細の各項目が、A1~A100くらいまであります。 各項目には、例えば、出願人、出願日、効果、請求項などの文字列が含まれます。 そこでSHEET2のA1に「請求項」と入力すると「請求項」という文字列を検索し、その文字列を含んだセルの内容を表示させたいのです。そのセルは一つとは限りません。 以上のような事は、関数で可能でしょうか。

  • 特定の文字列のみ表示させない。

    どなたか教えて頂けないでしょうか? AシートのA1セルに文字列が入力されます。入力される文字列は決まっていて、  ああああ  いいいい  うううう  ええええ の4つが入ります。 BシートのB2セルに、AシートのA1セルの値を表示させたいのですが、 この時”うううう”と”ええええ”のみ表示させないようにしたいです。 簡単にまとめるとこんな感じです AシートA1セルの値   →   BシートB2セルの値 ああああ        →    ああああ いいいい        →    いいいい うううう        →    表示なし ええええ        →    表示なし どのようにしたらいいのでしょうか? よろしくお願いいたします。

  • Excelでセル内の文字列を全て表示したい。

    Excel2000を使って、ブックA(入力用シート)の特定のセルに入力されている文字列をブックB(出力用テンプレート)の特定のセルに表示したいのですが、セルの大きさが異なるため、全体を表示できません。セルの書式設定で「折り返して全体を表示する」にすると、結局全部の文字列は表示されませんし、「縮小して全体を表示する」にすると1行になって縮小されてしまい、小さすぎて読めません。両方同時に指定できれば良いのですが不可能なようなので、VBAや関数、その他機能を使って実現できないものかと考えております。 何か良いお知恵をお貸し頂ければ有難いのですが。

  • 【エクセル】指定したセルに入力することで、別の特定のセルに決まった文字を表示させるには?

    社用データを作る際の手間を省こうとしたのに、かえって難しくなってしまいました(-"-;) 分かりにくい質問で恐縮ですが、よろしくお願いします。 現在Excel2003を使っています。 「指定したセルに文字・数字問わず入力があった場合、特定のセルに特定の文字を表示させる数式(または方法)」は無いでしょうか。 (できれば指定したセルに入力が無い限り、特定文字を表示させるセルは非表示のままにしたいと思っています) ↓ 例えば、「A1のセルに『○田×男(人名など)』と入力した時、B1のセルに『様』と表記させる」と言った具合です。 (このとき、A1に入力が無ければB1も空白のままにしておきたいのです) 手動で入力した方が早そうな気もしますが、応用次第で他の表や作業もスッキリしそうなので、手があれば是非ご教授下さい。

  • 別のセルに定型の文字列を表示させたい

    別のセルに定型の文字列を表示させたい 例えば、 A1に数値を入力すると、 B1に、かならず「りんご」という文字列を表示させたいのですが、 いろいろやってみた結果どうもうまくいきません。 お知恵を拝借させてください。

  • 2つのセルに入力→別のセルが青くなるようにしたい

    A1とB1セルに数値または文字列が入力されると、H1列のセルが青くなるようにしたいと考えています。 仕事で制作物のスケジュール管理をしているのですが、2つの条件が揃わないと先に進めない工程がありまして、さらにそれぞれの条件が揃う時期がバラバラで不規則であること、またその2つの工程の入力セルと、その制作物のIDセルはかなり離れており、同時に見ることが難しいこと、また制作物が数百単位で個別にあることから、その様なことが出来ないか、と思い投稿しました。 やはり、条件附き書式と関数を併用するのでしょうか。

  • Eecelで指定されたセル番地に入力される方法を教えてください

      A  B  C  D  E 1    A1  1 2    A2  2 3    A3  3 4    A4  4 上記のようなシートがあったとします。 B列にセル番地が入力されており、C列には数値が入力されています。 A1にC1の値=1 A2にC2の値=2 という具合に、 B列に入力されているセル番地に隣のC列の値が入力されるようにしたいのですが、どうもうまくいきません。 いい方法があったら教えてください。よろしくお願いします。 ※できれば関数で何とかしたいと思っています。 OS:Windows XP Excel2003です。

専門家に質問してみよう