• ベストアンサー

Excel 同じ値を別のセルに反映したい

エクセル上で、部屋割りの編集をしたいと思っております。 なまえ コード   同室(1)   同室(2) ねずみ 1   うし   とら うさぎ    2   りゅう   へび うし     1   ねずみ   とら りゅう    2   うさぎ   へび とら     1   ねずみ   うし へび     2   うさぎ   りゅう ・「なまえ」「コード」の入力は終えていて、同室(1)と同室(2)にセルを反映したい です。方法を教えてください。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

>つまり、シングルの人もいれば、ツイン or トリプル になる組も分かれます。 当初に提された条件はトリプルと言うことでしょうか? Office 2003以前のバージョンは近日中にサポート終了になりますのでExcel 2007以降を対象にさせて頂きます。 コードが無い場合をシングル、コードが同じの組み合わせの個数が2の場合はツイン、同じく3の場合はトリプルとし、同じく4以上の組み合わせは無いものとすれば数式の一部修正で対応できます。 C2=IF(OR(COUNTIF(A$1:D1,INDEX(A3:A$1500,MATCH(B2,B3:B$1500,0)))>0,ISERROR(MATCH(B2,B3:B$1500,0))),IF(B2="","シングル",""),INDEX(A3:A$1500,MATCH(B2,B3:B1500,0))) D2=IF(OR(COUNTIF(A$1:D1,INDEX(A3:A$1500,MATCH(B2,B3:B1500,0)))>0,ISERROR(MATCH(B2,B3:B$1500,0))),"",IFERROR(OFFSET(INDIRECT(ADDRESS(MATCH(C2,A$1:A$1500,0),1)),MATCH(B2,INDIRECT(ADDRESS(MATCH(C2,A$1:A$1500,0)+1,2)&":B1500"),0),0),"")) 尚、数式の論理が理解できないと修正の必要が生じたとき同様な質問を繰り返さなければならないので、数式の論理を学習して応用できるようにしてください。

darthksk
質問者

お礼

早速のご返事誠に有難うございました。 数式を読み解いて、なんとかうまく解決できました。 感謝申し上げます。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

回答No.3の追加です。 Excel 2013で検証した画像を添付します。 C2=IF(OR(COUNTIF(A$1:D1,INDEX(A3:A13,MATCH(B2,B3:B13,0)))>0,ISERROR(MATCH(B2,B3:B13,0))),"",INDEX(A3:A13,MATCH(B2,B3:B13,0))) D2=IF(OR(COUNTIF(A$1:D1,INDEX(A3:A13,MATCH(B2,B3:B13,0)))>0,ISERROR(MATCH(B2,B3:B13,0))),"",OFFSET(INDIRECT(ADDRESS(MATCH(C2,A$1:A$13,0),1)),MATCH(B2,INDIRECT(ADDRESS(MATCH(C2,A$1:A$13,0)+1,2)&":B13"),0),0)) 提示のデータを増やして順番を入れ替えた状態で検証しました。 実データに合わせて最小範囲で計算しています。

darthksk
質問者

お礼

詳しい解説、有難うございます。 さらにデータがupdateしてしまい、ご相談です。 ・データ数ですが、約1500ほどあります。 ・さらにB列の「コード」が"ない人"と"ある人"が混在しております。 ・また、"同室(1)のみ"もいれば、"同室(1)と同室(2)"が入るかたもいます。  ⇒つまり、シングルの人もいれば、ツイン or トリプル になる組も分かれます。 この場合の数式を是非、教えて頂けないでしょうか。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>・「なまえ」「コード」の入力は終えていて、同室(1)と同室(2)にセルを反映したいです。 コードが同じの名前を組み合わせれば良いのでしょうか? C列は次の式で良いと思います。 C2=INDEX(A3:A100,MATCH(B2,B3:B100,0)) D列は少々面倒な処理になります。 D2=OFFSET(INDIRECT(ADDRESS(MATCH(C2,A$1:A$100,0),1)),MATCH(B2,INDIRECT(ADDRESS(MATCH(C2,A$1:A$100,0)+1,2)&":B100"),0),0) 但し、提示のデータでは2組のみが有効であり、"りゅう 2 うさぎ へび"以降の組み合わせは不要なので、非表示にする方法も別途考慮する必要があるでしょう。 また、対象データの行数は100までにしてありますので必要に応じて変更してください。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! ↓の画像のような配置になっているという解釈で・・・ 画像ではC2セルに =IF(COUNTIF($B:$B,$B2)-1<COLUMN(A1),"",INDEX($A$1:$A$100,SMALL(IF(($A$1:$A$100<>$A2)*($B$1:$B$100=$B2),ROW($A$1:$A$100)),COLUMN(A1)))) これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は、 上記数式をドラッグ&コピー → C2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) CtrlキーとShiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 C2セルを列・行方向にオートフィルでコピーすると 画像のような感じになります。m(_ _)m

darthksk
質問者

お礼

ありがとうございます。 実は、約640ほどデータがあり、 オートフィルでコピーしたところ、後半から"#NUM!"とエラーになりました。

関連するQ&A

  • こんなこと関数を使ってできますか?

    A1~A5に「ねずみ・うし・とら・うさぎ・たつ」が入力されています。 「とら」を検索して、「とら」と入力されているセルが「A3」なので、 B1のセルにその「A3」を表示させることってできますか?

  • パズル得意な人教えてください。

    虎 馬 蛇 龍 羊 牛 鼠 兎  兎の隣には一つスペースがあり干支の順に並べるスライドパズルなんですがどうしてもできません。 順番は、 鼠 牛 虎 兎 龍 蛇 馬 羊 と並べなくてはいけないんですが私には無理です。 できる人いますか?

  • 十二支・・・ペットにするなら、どんな愛称をつけますか?

    ねずみ うし とら うさぎ たつ へび うま ひつじ さる にわとり いぬ いのしし もしペットにするとしたら、それぞれどんな愛称をつけますか? 頭に浮かんだものだけでも結構ですので、教えて下さい。 宜しくお願いします。

  • エクセル 2つのセルを反映

    エクセルを使って成績処理のシステムを作っています。 そこで,次のようなことができないかと思っているのですが,どなたかご教授いただけましたら幸いです。    セル1(平均値を算出する数式)     セル2(手入力※通常は空欄)     セル3(成績確定となるセル※セル1,またはセル2を反映する。) セル1には,他シートのデータの平均値が出るような数式が組み込まれています。データの平均値はA,B,Cに換算されてA,B,Cで表示されます。 通常は,このセル1のデータが,そのままセル3に反映されるようにします。(A,B,C)この場合,セル2は空欄となります。 しかし,セル1のデータが,児童の成績の実態と異なるとき(本当はAなのにB,とかCなのにB等),セル2に手入力でデータを打ち込み( A or Bor C )ます。すると,セル3にはセル2で打ち込んだデータが優先されて反映されるようにしたいのです。 こんなことができたら理想なのですが…。 あるいは別のアイディアがありましたら,あわせてご教授くださったらありがたいです。 どうぞよろしくお願いいたします。

  • エクセルでセルに入力した数字をSheetに反映できますか

    現在、メンテナンス表をエクセルで作成しています。 数が膨大で手が追いついていない状態です。 そこで、セルに入力すればそのデータが別のSheetに反映できればかなり短縮できるので、そのような方法があれば教えてください。 例えば、A1に「123」と入力するとSheetの名前が「123」のSheetの選択したセルに反映される。ということがやりたい事です。 400近いSheetがあり、毎日全部ではありませんが、かなりのデータを入力しなければいけません。 どうかよろしくお願いします。

  • エクセルで選んだセルによって文章を反映させる

    たびたびお世話になります。 エクセルでシート1にA,B,C,Dの4個のセルがあり このどれかに会社名又は個人名が入ります。 (必ず一つです) 毎回コピペでシート2のEのセルに反映させてますが どれかに入力したら自動的にシート2に反映させる方法は ないでしょうか? おわかりになる方ご教授下さい。

  • エクセルの入力データの反映方法について

    こんにちは。 エクセルでデータ作成をしています。 そこで質問なのですが…、 例を挙げると、 1つのセルに、 「 1」とコード入力するとその隣のセルに「北海道」 「 2」とコード入力するとその隣のセルに「青森県」  ↓  ↓ 「47」とコード入力するとその隣のセルに「沖縄県」 と、入力したコードに応じて名称が反映するようなデータを作りたいと思っています(コードの数は現在100種類位あるのですが、今後も増える予定です)。 どなたか良い方法を教えて下さい、お願いします…!!

  • 複数ファイルを比較するコマンド、ソフト等を教えて下さい

    例えば、以下のテキストファイル1、2があったとします。 <テキストファイル1> ・鼠 ・牛 ・虎 ・兎 ・龍 ・蛇 ・馬 ・羊 ・猿 ・鶏 ・犬 ・猪 <テキストファイル2> ・鼠 ・牛 ・虎 ・兎 ・蛇 ・馬 ・羊 ・鶏 ・犬 ・猪 この場合において、両ファイルに重複する文字列以外の文字列(・龍 と・猿)だけを抜き出して表示したいとき、例えば、テキストファイルとして秀丸を利用している場合、正規表現でうまく処理することができるでしょうか? あるいは、DOSコマンド、フリーソフトでも何でも構いませんので、上記を実現できる手段について教えて下さい。

  • エクセルの途中から関数を反映させるには・・・。

    いつもお世話になります。 エクセルの途中までは、文字を残しておき、その後、シートの名前を自動入力したいのですが? こんなのって可能なのでしょうか? 例はこんな感じです。 (1)/(2)/※と同セルに文字を入力し、シート名に(3)を 入力すると※の部分に(3)が反映される。 ただし、同セル内で反映させたいです。 よろしくご回答お願いします。

  • エクセルで関数を使い文字を置換したい

    エクセルの関数についてお聞きいたします。 文字や数字に対して、それぞれ別の言葉が定義されているとします。 例として、  A → うさぎ 、 B → かめ 、 1 → へび 、-1 → らいおん 、etc... その他多数 例えばエクセルのセルに、"A" と入力すると別のセル(例えば入力したセルの下のセル)に "うさぎ" と表示、"1"と入力されたら同様に"へび"と表示されるようにしたいのですが 、エクセルの関数でこのようなことをすることが出来るでしょうか? 出来るなら方法をご教授ください。 また、関数でなく他の方法などあれば教えてください。 よろしくお願い致します。

専門家に質問してみよう