• ベストアンサー

Excel関数

Excel関数を使って下のような表示をさせたいです。 A列:場所、 B列:品名 C列:関数(A列に該当するB列の品名の略称を表示させる)   ※下の表は頭文字を結合したものを表示 C列にはどのような関数をくめばいいでしょうか。 ご教授お願いします。  | A     B     C ーーーーーーーーーーーーーーーー 1|福岡   りんご   りばな 2|京都   ぶどう   ぶ 3|福岡   ばなな   りばな 4|東京   なし    なぶ 5|東京   ぶどう   なぶ 6|福岡   なし    りばな

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 以下の様にしますと、作業列は1列だけで済みます。  まず、E1セルに次の様な関数を入力して下さい。(もし元の表が9999行目よりも下の行にまで続いている様な場合には、下記の関数において$9999となってる箇所を、使用する行数を上回る行番号となる様に、適時修正して下さい) =IF(OR($A1="",$B1=""),"",IF(COUNTIFS($A$1:$A1,$A1,$B$1:$B1,$B1)=1,$A1&"★"&LEFT($B1,1)&IFERROR(REPLACE(VLOOKUP($A1&"★*",E2:E$9999,1,FALSE),1,LEN($A1&"★"),),""),""))  次に、E1セルをコピーしてE2以下に貼り付けて下さい。  次に、C1セルに次の様な関数を入力して下さい。 =IF($A1="","",REPLACE(VLOOKUP($A1&"★*",$E:$E,1,FALSE),1,LEN($A1&"★"),))  次に、C1セルをコピーしてC2以下に貼り付けて下さい。  以上です。

STUDY-01
質問者

お礼

返事遅くなりました。 できました。ありがとうございます。 自分ではこのような関数が思いつかなかったので、助かります。

その他の回答 (1)

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

作業列をいくつも作成する方法がわかりやすいと思います。 C1式 =IFERROR(INDEX(H:H,MATCH(A1,G:G,0)),"") E列:県名の重複しないリスト作成用数式 E1式 =IF(A1="","",IF(COUNTIF($A$1:A1,A1)=1,ROW(),"")) F列:各県の重複しない品名リスト作成用数式 F1式 =IF(A1="","",IF(COUNTIFS($A$1:A1,A1,$B$1:B1,B1)=1,A1&COUNTIF($A$1:A1,A1),"")) C1~F1下方へオートフィル(H列数式入力までC列には何も表示されません) G列:重複しない県名抽出 G1式 =IFERROR(INDEX(A:A,MATCH(SMALL(E:E,ROW(A1)),E:E,0)),"") H列:品名の頭文字の結合文字 H1式 =I1&J1&K1&L1&M1&N1&O1&P1 (I列以降の数式入力まで何も表示されない) I列以降:品名の頭文字の取得 I1式 =IFERROR(LEFT(INDEX($B:$B,MATCH($G1&COLUMN(A1),$F:$F,0)),1),"") P1までオートフィル G1~P1 下方へオートフィル 品名対応は各県で8種類としています。 もっと必要な場合はI1式をP1以降までコピーし、H1式の&式を増やして下さい。 数式はデータが無い場合は空白となりますので、現状データ範囲より大きい範囲にコピーすれば追随します。(H1、I1数式は修正必要な場合がある)

STUDY-01
質問者

お礼

なるほど。分割してからという手もありますね。 試してみます。ありがとうございます。

関連するQ&A

  • Excel関数が分かりません

    以下のような表示で個別評価で一つでもCがあったら総合評価として Cと表示、CがなかったらB、BがなかったらAを表示させたいのですが どうして良いかわかりません。教えて下さい。       個別評価 総合評価 1.りんご A      C 2.みかん B 3.なし C 4.ぶどう A

  • Excel関数

    Excelで適切な関数を探しています。 在庫の管理で複数ある在庫の指定した商品の過不足がわかるような在庫表を作成しようとしてます。 会社の基幹システムからExcelに落とした在庫表が下記のようにあります。 A列    B列     C列     品番    倉庫名  保有在庫数 111111   東京     10 111111   大阪     20 222222   東京     50 333333   大阪     10 333333   札幌     10 444444   札幌     30 続く・・・ 他に各倉庫各品番の必要在庫の別シートのマスターがあります。 A列    B列   C列 品番   在庫名  必要在庫数 1111111  東京    50 1111111  大阪    10 2222222  東京    100 2222222  大阪    20 最初の在庫表にD列を設け、そこに上記のマスターの必要在庫数を表示させて下記のようにしたいのですが・・・ A列    B列     C列    D列    E 品番    倉庫名  保有在庫数  必要在庫数 過不足数 111111   東京     10      50    -40 111111   大阪     20      10    10 222222   東京     50      100   -50 ・・・・・ がIFやVLOOKUPの関数で組み合わせで適切なものができませんでした。 他の関数で適切なものはありますでしょうか。 

  • excel関数教えてください。

    表にしてあって、A列には任意の数字がはいるようなってます。関数はB、C、D列に使いたいのですが B列:Aを3で割り小数点以下に.666が出たときには整数に2を足して、.333の場合は整数に1を足して表示したい。 C列:Aを3で割り小数点以下に.666か.333の場合小数点以下を切り捨てたい D列:Aを3で割り小数点以下に.666か.333の場合小数点以下を切り上げたい 例としては   A   B   C   D 1 10,000 33,334 33,333  33,333 2 20,000 66,668 66,666  66,666 上のような表です。Aに入る数値はいろんな 数値があります。関数に該当しないものは 3で割った数字をそのまま表示したいです。 宜しくお願いします。

  • 【Excel】文字データの検索&一致不一致の判断

    Excelで以下のような列があります。    A 1 りんご 2 みかん 3 ぶどう 4 いちご (以下略) ここで、A列に対してすでにA列に存在しているデータが入力された場合、B列に×を返し、存在していないデータなら○を返すような式を入れたいです。    A    B 1  りんご   ○ 2  みかん   ○ 3  ぶどう   ○ 4  いちご   ○ ・・・ 19 ばなな  ○ 20 りんご  × どのような関数を入れれば良いか、教えていただきたいです。 よろしくお願いします。

  • 【Excel】ユニークでないキーを元に照合

    A列にユニークでないキーが複数あり、B列には5つの種類があります。 (例)     A  B 1 りんご 赤 2 りんご 青 3 りんご 黄 4 みかん 橙 5 ばなな 黄 6 ばなな 青 7 キウイ 緑 これを、C列のユニークキーで、D列(EやFを使っても可)にB列にある種類を表示させたいのです。 (例)    C   D E  F 1 りんご 赤 青 黄 2 みかん 橙 3 ばなな 黄 青 4 キウイ 緑 なにか良い方法はありますでしょうか? If関数とVlookup関数の組合せで試してみたのですが、3つ以上ある場合もあり、うまくいきませんでした。 ご教示いただけますと幸いです。よろしくお願い致します。

  • Excel2003でif関数を使うとSUM関数で反映されません

    A1セルに金額を入力すると、B1に1と表示させる為に=IF(A1,"1","")といった数式を入れております。 さらにC1にBセルの合計値を表示させる為に=SUM(B1)C2には=SUM(B1:B2)と入力しているのですが、B列のセルにIF関数を使った数字『1』が表示されてもC列セルに反映されないので困っています。 ここで質問ですが、A列セルに金額が入力されるとB列セルに数字『1』が表示され、更にC列セルにB列セルの合計値が表示される様な関数等はありますでしょうか?解り難い説明ですいません。 因みにA、B、C列共に1~31までのセルがあります。

  • Excel関数

    A列に日付、B列に曜日、C列に数字が書いてあります。 D列に、当日のC列の数字が、前日から先週の月曜までの最高値を上回っていれば1,そうでなければ0と表示させたいのですが可能でしょうか? Excel関数に強い方いらっしゃいましたら是非お助けください! 宜しくお願いします。

  • Excel関数について教えてください。

    Excel関数について教えてください。 A1が1004の場合は、5555とB1に表示 A1が1005の場合は、5556とB1に表示と A1が1増えると、B1も1増えて表示したいです。 A列  B列 1004 5555

  • Excel2007で、検索をしたいのですが…。

    Excel2007で、検索をしたいのですが…。 A列にNo. B列に品名 であればVLOOKUPで検索出来るのですが、教えて頂きたいのは A列にNo. B列に品名 C列にもNo. D列にNo.入力 E列に表示 例) 01     机      91    02     椅子     92    03     布      93 01 と入力した場合も 91 と入力した場合もどちらも『机』と表示されて欲しいのです。 この場合、VLOOKUPでは対応出来ない気がするのですが、何か別の関数ありますか? 当方、関数は苦手で、ほぼ初心者のようなものです。 宜しくお願い致します。

  • エクセルの関数について教えてください。

    エクセルの関数について教えてください。 例えば、他社名(数件)と自社名がA列にあり、品名が数種類B列にあり、金額がC列にあるとします。 D列以降に、品名ごとを他社名・自社名の2つに分け金額が表示される様にするには、 どんな関数を使えば良いのでしょうか? 分かりにくい質問で、すみません。 宜しくお願いします。

専門家に質問してみよう