• ベストアンサー

Excel関数を固定させておくことは出来ますか

お世話になります。 本日、前々から考えていたある関数を 仕事で使っているExcelの表に埋め込んでゆきました。 しかし、数が膨大で、「コピーして、少し変更して」 などとやってるうちに、間違えて1文字消してしまったり 同じものを作ってしまったり、混乱状態です。 一度入力した関数はコピーは出来ても、崩れない、消せないように することは出来ませんでしょうか? まだ300件くらい設定する必要があり、ちょっと現実的じゃなか ったのかな。。。と後悔しています。 ご存知の方お教え下さい!

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

NO1です。 現在の関数では、顧客名が固定されているから都度訂正する必要の為、コピーするという事と認識しましたので、相違していましたら読み飛ばして下さい。 仮に顧客名がA列(顧客名)とB列(所在地)にあるという事ならば、一例ですが次の方法は如何でしょうか。 =IF(A1<>"",INDIRECT(A1&B1&"!B"&COUNTA(INDIRECT(A1&B1&"!B:B")),"") 又、シート関連付けも同様に=IF(A1<>"",HYPERLINK("#"&A1&B1&"!A1","★"),"")として、予め以下の行にコピーしておくという事で如何でしょうか。

gyaran51
質問者

お礼

ありがとうございます。 いろいろやってみました。 IF関数、勉強させて頂きます。 丁寧にご対応頂きありがとうございました。 今後とも宜しくお願いします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問で言っていることが判らない。 他人に読んでもらうときは、実例でも挙げて一歩一歩説明すべきだ。 >前々から考えていたある関数を 持って回った言い方だが具体的には 単一の関数 関数の組み合わせ ユーザー関数(VBA関連) のどれか? 関数は 関数の名前と 引数部があって 引数部(の一部)はセルによって変化させるべきときがほとんど。 その辺はどうなっているのか。 それは普通では、式の複写で簡単に行っている(これが出来ることがエクセルの関数の便利さの死命を制す)がその辺のことはどうなっているのか。 >数が膨大で、「コピーして、少し変更して」 でも式によっては少しの変更も要らないように作れる場合もある。 ーー ミスした苛立ちから、質問してるのだろうが、そんな勝手な仕組みを 作るのには労力がかかるし、他人・他の場合には使いづらくならないか。 VBAでも勉強すればどうです。関数を使わないですっきり計算できる場合もある。繰り返しはプログラムで行う事になるから。

gyaran51
質問者

お礼

ご回答ありがとうございます。 自分自身がまとまっておらず 申しわけありませんでした。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>入力した関数はコピーは出来ても、崩れない、消せないようにすることは出来ませんでしょうか? ⇒入力ができて上書きできないでは矛盾しています。  「コピーして、少し変更して」という部分の規則性があるのならば、関数で対応が可能かもしれませんので補足して下さい。

gyaran51
質問者

補足

>入力ができて上書きできないでは矛盾しています。 おっしゃる通りですね。 反省します。。。。 >関数で対応が可能かもしれませんので補足して下さい。 ありがとうございます。 1Sheetを「顧客リスト」として、2Sheet以降は Sheet毎に各顧客別の「対応履歴」を作っています。 「対応履歴」には、対応日(A)・対応内容(B)・顧客ランク(C) などの項目があり、対応した履歴情報が上の行から入力するルール で使っています。     (A)  (B)      (C) (1)09/01/09  クレーム   C-2 (2)09/01/10  解決     A-2 (3)09/03/14  クレーム   F-4 一番最終行の情報が、「顧客リスト」に反映されるように下記 関数を使っています。 対応内容(B)の場合 =INDIRECT("'福嶋エンタープラシズ(株)(秋田県)'!$B"&COUNTA('福嶋エンタープラシズ(株)(秋田県)'!$B:$B)) (実際には(A)(B)(C)だけでなく、6項目あります) (「顧客リスト」上では、各条件で並べ替えをおこないます) (このような設定を約300件におこなう予定です。) この他、「顧客リスト」から各「対応履歴」をクリックひとつで 行ったり来たり出来るように、全ての顧客に下記関数も設定して います。 =HYPERLINK("#'顧客リスト'!A1","★") 今は1点ずつ入力しております。 もし他に宜しい方法あればお教え下さい。 お願い致します。

関連するQ&A