• 締切済み

エクセル

Book1 A1セルにBook2 A1,B1,C1(同一シート)いずれかに文字あるいは数値が入力された場合 Book1 A1にリンクするようにしたいのですが =[Book2.xls]Sheet1!A1&[Book2.xls]Sheet1!B1&[Book2.xls]Sheet1!C1 とすると今後D,E・・・・と続くとすごく長い式になってしまいます。 これをもっと簡単な式に出来ないものでしょうか。(エクセル2003使用) ヨロシクお願いします。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

ごめんなさい。 L1セルへの入力の式は次の式で十分でしたね。訂正してください。 =IF(COLUMN(A1)<10,K1&B1,"")

mikarando
質問者

お礼

回答ありがとうございます。 試してみます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

Book2のシート1で例えばJ1セルまでが結合文字列をつくる対象とします。 その場合にはBook2のK1セルから右横の列を作業列としてK1セルには次の式を入力します。 =A1 L1セルには次の式を入力して右横方向にドラッグコピーします。 =IF(COLUMN(A1)<COLUMN($J1),K1&B1,IF(COLUMN(A1)<10,K1,"")) これで最終のT1セルにはお望みの結合文字列が表示されます。 したがってお示しのような式は次の式で置き換えることができます。 =[Book2.xls]Sheet1!T1

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

数値なのか文字なのか決められないのですか? 何でもアリにしたいなら、それなりに制約のある解決策になります。 作成例: =IF(COUNTA([Book2.xls]Sheet1!1:1),HLOOKUP("*?",[Book2.xls]Sheet1!1:1&"",1,FALSE),"") と記入し、コントロールキーとシフトキーを押しながらEnterで入力する。

mikarando
質問者

お礼

keithinさんいつも回答ありがとうございます。 数値か文字か決められないのか。ということでしたが入力の際に交互に入力することになる(1行目数値、2行目文字のように)ので、曖昧な聞き方をしました。 作業を進めていくうちに次々問題が出てきてしまい、関数が苦手なもので困っています。改めて、質問させて頂きます。ずうずうしいですがそのときはまたアドバイスお願いいたします。

関連するQ&A