• ベストアンサー
  • 困ってます

エクセル関数 範囲指定で文字を連結する方法

セルA1に1、B1に2、C1に3が入力されている時に、 D1に関数「=A1&B1&C1」と入力すると123と表示されますよね。 これを範囲指定で文字を連結するには、どのような関数になるのでしょうか。 よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数433
  • ありがとう数4

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

  • ベストアンサー
  • 回答No.4
  • imogasi
  • ベストアンサー率27% (4560/16325)

#3です。追加。 =CONCATENATE((A1,B1,C1)が(質問者の意図と少しづれるかもしれないが)標準かもしれない。 (1)セル数が10も20もないだろう (2)他の場合で、とびとびのセルでも使える (3)制限は30個までかもしれない(最新バージョンで確認してないが)。 (4)定数や文字列も挟める =CONCATENATE(A1,"と",C1)

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございました。

関連するQ&A

  • エクセルの関数でセルの隣のセルを指定する方法

    セルC1の計算式を=A1+(C1の左隣のセル)と指定することは可能でしょうか? なんでかというとAとBの間にセルを挿入したときにもこのC1の計算式は=A1+B1と計算したいのです。 その場合にINDIRECT関数をつかっていたのですが、もしこの挿入したセルが空の時にはA1+B1のままではなくA1+C1(移動してB1がC1になった)にしたいからですが、 なにかよい方法があったら教えて下さい。 説明がわかりづらくて ごめんなさい 1)A1に10をB1に20を入力しておきます。 2)C1に10+20の30が表示(何らかの計算式) 3)AとBの間にセルを挿入 4)新しいB1せるに5を入力 5)D1(C1が移動した)には15が表示 6)もしB1に何も入力しなかったらD1は30を表示 こんなのって可能でしょうか? この何らかの計算式をアドバイスください よろしくお願いします。

  • エクセルでの関数

    質問させていただきます。 シート1のA1、B1、C1セルのどれかに文字が入った場合、シート2のA1セルに入力された文字をそのまま表示するにはどういった関数をしようすればよろしいでしょうか?お願いいたします。 (例) シート1のA1セルに○が入り、B1、C1セルには何も入らない場合、シート2のA1セルには○と表示される

  • エクセル関数について、教えて下さい。

    エクセル関数について、教えて下さい。 a1:300 、 b1:* 、 c1:10 と入力してあります。 ここで、 d1へ =concatenate("=",a1,b1,c1) を設定した時に得られて表示される文字は、 「 =300*10 」 となります。 この時、この文字を数式として活用したいのですが、つまり解が " 3000 " と別のセルでも良いので、解答するようにしたいのですが、お解かりになる方教えてください。

その他の回答 (4)

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

>セルA1に1、B1に2、C1に3が入力されている時に、D1に関数「=A1&B1&C1」と入力すると123と表示されますよね。 その例では「数値の1と2と3を連結して文字列の123にする」と言うことになります。 >これを範囲指定で文字を連結するには、どのような関数になるのでしょうか。 数値の123を1桁ずつA1からC1へ入力したものを計算のために123と言う数値に変換するのであれば次のような数式で対応可能です。 =SUMPRODUCT((A1:C1),10^(3-COLUMN(A1:C1))) しかし、A1に"あ"、B1に"い"、C1に"う"と入力し"あいう"のように文字列の連結のみを行いたい場合は組込み関数がありません。 因って、ユーザー関数を作成することになるでしょう。

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • imogasi
  • ベストアンサー率27% (4560/16325)

・VBAでユーザー関数を作ればできます。 標準モジュールに Function ketugou(a) 'MsgBox "AA" s = "" For Each ch In Range(a) MsgBox ch s = s & ch Next ketugou = s End Function と入れる。 Ketugouの部分は、VBAで使うキーワードやエクセル関数的なものでなければよい。 答えを入れるセルに =ketugou("A1:C1")  "セル範囲を”で囲んでください。 ーーー 各セルが0-9(1桁の数字)に限られるなら =SUMPRODUCT((A1:C1)*{100,10,1}) でできそうです。これを文字列化して =TEXT(SUMPRODUCT((A1:C1)*{100,10,1}),"######") これも、限定があり、定数をその都度作る必要があり、苦しい答えですね。 ーー ・他にないか考えてみますがむつかしそう。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご親切にどうもありがとうございました。

  • 回答No.2
  • msMike
  • ベストアンサー率20% (294/1440)

私の常套手段は添付図のとおりです。 1.列Aの左に1列挿入 2.セル B2 に式 =A2&B1 を入力して、此れを右方へズズーッとドラッグ&ペースト

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます。 マイナス評価が付いてますが、私は良いご回答だと思います。 私の目的には使えませんが、このような発想は今後のために覚えておこうと思いました。

  • 回答No.1

標準の関数では無かったハズ。 VBAでユーザー定義関数を作ってってのが一般的な対応方法です。 セル範囲を指定して文字列を結合・連結するユーザー定義関数:エクセルマクロ・Excel VBAの使い方-ユーザー定義関数 http://www.relief.jp/itnote/archives/001342.php Excelで複数セルからの文字の結合 - オフィス系ソフト | 教えて!goo https://okwave.jp/qa/q1614403.html

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございました。 勉強になりました。

関連するQ&A

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • エクセル関数(文字検索で・・・)

    初めまして。今ある特定範囲の中から指定した文字があるかないかを検索してその文字があれば○・なければ×と言う事をしたいのです。IFを使ってするのはわかっているのですが、特定範囲の中から指定した文字を検索することはできますか?今やっているものの例ですが、セルA1に"あ"・B1に"い"・C1に"う"とあったとします。作成した式は"あ"があれば○としたとき、=IF(A1:C1="あ","○","×")としました。関数のダイアログボックスでは答えがでているのですが、実際に式を確定するとVALUEのエラーがでます。なぜでしょうか?根本がちがってますか?今の例のような範囲のなかから指定する文字を探す関数などありますか? 意味が伝わるでしょうか?どう書いていいのか・・。すみません教えて下さいm(__)m

  • エクセル関数式、入力範囲の一番右端の値を返すには?

    エクセル関数式質問です。 Sheet1のセルA1値、A2値、A3値、A4値を,Sheet2のセルA1に「=Sheet1!A1」,セルB1に 「=Sheet1!A2」,セルC1に「=Sheet1!A3」,セルD1に「=Sheet1!A4」という仕組みを作っ ておいて、Sheet1のセルA1からA4に人の名前をそれぞれ入力したとします。 例えば、Sheet1のセルA1に「田中」、セルA2に「中村」、A3は空白、A4も空白としたと き、Sheet2のセルA1には「田中」,セルB1には「中村」,セルC1に「空白」,セルD1に「空 白」(この場合、これらの空白は空白に見えても実際は、「Sheet1!A*」が隠されている わけですが…)となります。 以上の条件において、Sheet2の別セルに、今、Sheet2のA1からA4の範囲に表示されてい る名前のうち、常に右端の名前を表示させたい場合、この場合は「中村」です。その右 となりは空白ですので。仮にA3に「大山」と表示されたてA4は空白の場合は、もちろん 「大山」になります。この別セルに入力する関数式を教えてください。宜しくお願いし ます。

  • エクセルで特定の文字を見つけたら数値に変換したいで

    セルに特定の文字を入力したら10と認識させたいのです。 たとえば、セルA1に数字でなく文字を入力すると隣のB1に10、C1も10、D1も10・・・というようにしてB1+C1+D1+E1でF1に合計の40が表示されるようにしたいのです。B1、C1、D1は空白にしたいです。A1の隣から10が発生するようにしたいのです。文字は『OPEN』という文字が入ってるときにそうさせたいのです。 説明がわかりづらいかもしれませんがどうぞよろしくお願いいたします。

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

    色々調べてみたのですがわからなかったのでどなたか教えてください。 例えばA1のセルに「1111」と入力されていてB1のセルに「土曜日」と入力された場合にC1のセルに「特」という文字を自動に入れたい場合はどうすればよいのでしょうか? A1とB1のセルに何も入力されていない場合はC1も空欄にしたいです。 A1のセルにはVLOOKUP関数をいれていて、返ってきた文字が「1111」の場合です。 B1は手入力で入れています。 同時にA1のセルに「2222」(これもVLOOKUP関数で帰ってきた文字です)、B1のセルに「日曜日」と入力された場合にはC1のセルには「大特」という文字を入れたいのですが、組み合わせでできますでしょうか? 初心者なので質問がおかしいかもしれませんが、よろしくお願いします。

  • エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。

    エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。 エクセルのセルA1に 「A123B1234X9876C123DD」と入力されています。 これを 「A123-B123X9876-C123-DD」としたいです。 現在 ・B1のセルに=REPLACE(A1,5,0,"-") ・C1のセルに=REPLACE(B1,15,0,"-") ・D1のセルに=REPLACE(C1,20,0,"-") と入れて、D1にできた値の 「A123-B123X9876-C123-DD」 をコピーして E1のセルに「形式を選択して貼り付け」「値」で貼り付けして B1~D1を削除して ・A1のセルには元の「A123B123X9876C123DD」 ・B1のセルには編集後の「A123-B123X9876-C123-DD」 が表示されるようにしています。 このA列が100行もあるとうんざりです。 式をオートフィルでコピーしていくのですが  ・B1に式を入れてオートフィルでB100までコピー  ・C1に式を入れてオートフィルでC100までコピー  ・D1に式を入れてオートフィルでD100までコピー  ・D1~D100をコピーしてE1~E100に「形式を選択して貼り付け」「値」で貼り付け  ・B,C,D列を列削除  3回は式を入れないといけないです。一発で編集する方法はありますでしょうか?

  • エクセルのTEXT関数に関して  

    エクセルの関数で、下記のような事が出来ますでしょうか? セル:A1に △=12 11 14 の文字が記入してあり、これの数字部分をセルB1・C1・D1 に分けて表示したい。 A1の内容は 〇=07 とかに変更されても同様に数字のみ を表示したいのです。 宜しくお願いします。

  • Excelで特定文字があった場合、文字を表示したい

    はじめまして。 Excelの関数で質問があります。 あるセル(仮にA1)に文字列を入れます。 他のセルに「A1にAの文字があったら、B1(このセル)にC1にある文字を表示する。Aの文字がなかったらなし、と表示する」という関数を指定したいと思っております。 一応、調べた限りでは「=if(find("A",A1),C1,"なし"」というような関数を使おうと思っております。 が、使用してみたら、「Aの文字がなかったら、なし、と表示する」の部分ができませんでした。 解決するにはどのようにすればよいでしょうか。 また、他によい関数がありましたら併せてお教えいただきたいと思います。 宜しくお願いいたします。

  • エクセルSUM関数の範囲を任意に変える

    セルB1に=SUM(A1:A10)と、とりあえず入力しました この関数の範囲をセルC1の数字で帰れるようにしたいです C1に10と入力すれば=SUM(A1:A10) C1に20と入力すれば=SUM(A1:A20) となるように出来ますか?

  • Excelで関数の参照先をセルの値で指定するには?

    Excel2000を使用しています。 関数が参照するセルを指定する場合、例えばSUM、のとき。 セルA1には"B1"と入力されており、 同様にセルA2には"B5"が入力されていたとして(もちろん " は実際には入力されてません)、 この セルA1 と A2 のテキストデータを参照して、SUM(B1:B5) を得るにはどのように範囲を指定したらよいのでしょうか? 別にセルA1 と A2 が "B1" 及び "B5" でなくてそれに代わるものでも構いません。 要は関数が参照するセルをほかのセルの値で指定したいのですが。