[[20080624050652]] 『データの入力規則、ユーザー設定の式?』(HY) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『データの入力規則、ユーザー設定の式?』(HY)

 下記の内容を教えてください。

 シート1 A列 地域 B列 番号 C列 氏名  ・・・データを入力
 シート2 A列 番号 B列 氏名  B列は、関数にて(下記参照)
 シート3 A列 地域  B列 番号  C列 氏名 (ここが問題?)

 シート2のB列の式は、下記
 =IF(OR(ISBLANK(VLOOKUP(A2,データ1!B:C,2,0)),ISERROR(VLOOKUP(A2,データ1!   B:C,2,0))),"",VLOOKUP(A2,データ1!B:C,2,0))

 伺いたい内容 シート3の例えば1行目を入力の際に、
 A列=B列=C列にしたいのです。(シート1のデータと同じ状況、横並びで)
 自分では、データの入力規則⇒ユーザー設定⇒ここの計算式が不明。
 シート2のB列の数式バーの式をコピペして、「ESC」⇒シート3の
 C列のユーザー設定の数式に貼り付け後に、上記式の一番右に
 [=A列]と追記しましたが、駄目でした。

 営業職で、お返事は夜になる事をお許しして下さい。&エクセル初心者
 です。(質問でお分かりですよね!)不明な点は、追記します。
 どうぞ、宜しくお願いします。

 間違いがありました。
 ユーザー設定の場所 C列のA列。
 シート2のB列の数式バーの式をコピペして、「ESC」⇒「ユーザー設定」
 の数式に貼り付け。「=B列」でした。
 意味お分かりいただけますか?初めてなので・・・。(HY)

 Sheet2のB列の式は
 =IF(COUNTIF(Sheet1!B:B,A2),VLOOKUP(A2,Sheet1!B:C,2,FALSE)&"","")
 でも同じ結果を得られると思います。

 Sheet3については何をなさりたいのか、よく理解してませんが。。。
 Sheet3のB列にコードを入力することにより、Sheet1と同じレイアウトで表示するということでしょうか。

 Sheet1
    A         B        C
1  地域	  コード	  氏名
2  東京	   100	  小泉
3  名古屋	   200	  安倍
4  大阪	   300	  福田

 Sheet3
    A         B        C
1  地域	  コード	  氏名
2  大阪	   300	  福田

 B2へ検索コードを入力
 A2=IF(COUNTIF(Sheet1!$B:$B,$B2),INDEX(Sheet1!A:A,MATCH($B2,Sheet1!$B:$B,0))&"","")
 C2へコピー でSheet2を介さずにできますが・・・勘違いでしたら無視してください。。。(gon-2)


 >(gon-2)様

 大変分かりづらい質問のレスにありがとうございます。(遅くなりすみません。)

 シンプルイズベストの数式ありごうございます。(これからこの数式を愛用します。)
 =IF(COUNTIF(Sheet1!B:B,A2),VLOOKUP(A2,Sheet1!B:C,2,FALSE)&"","")

 Sheet3のA列にコードを入力することにより、Sheet1と同じレイアウトで表示するということ
 ことなんです。(申し訳ございせん。分かりづらくて・・・)

 Sheet3
    A         B        C
 1  地域	  コード	  氏名
 2  大阪	   300	  福田
  ^^^^      ^^^      ^^^^
 ↑大阪と入力 ⇒ 「300」⇒ 「福田」とイコールにしたいのです。(つまり東京と打ったら
 エラー表示がでるような・・・。)が要望なんです。

 B2へ検索コードを入力(初心者のため、ここの意味がわかりません。)
    ^^^^^^^^^^
 A2=IF(COUNTIF(Sheet1!$B:$B,$B2),INDEX(Sheet1!A:A,MATCH($B2,Sheet1!$B:$B,0))&"","")

 この式は、どのシートのどのセルに入力するのでしょうか?(恥、汗)

 折角、素晴らしい数式を提案をしていただいているのに申し訳ございません。

 けして諦めたくはないのですが、・・・初心者には無理でしょうか? 
 (数式バー入力付加、数式パレット使用です。「、」、「&」の勉強になりました。(HY)


 >初心者には無理でしょうか?
 無理ではありませんが、計算式云々よりも前の段階で
 なさりたい事への処理の流れで、いま一つわからない部分があります。
 で、さらに計算式についての理解も・・・。という状況ですので
 ちょっと、時間がかかりそうですね。

 >けして諦めたくはないのですが
 ということですので、

 とりあえぜず、目先のご質問から解決を・・・

 >B2へ検索コードを入力(初心者のため、ここの意味がわかりません。)

 "検索コード"というのは何かの用語とかではなくて
 単に、B列に書かれている"コード"のことですね。
 (ちょっと、難しく考えすぎですね。でも、最初はそんなもんですよ、私もそうでした(^^ゞ)

 A2=IF(COUNTIF(Sheet1!$B:$B,$B2),INDEX(Sheet1!A:A,MATCH($B2,Sheet1!$B:$B,0))&"","")
 
 この式は
 >Sheet3のA列にコードを入力することにより、Sheet1と同じレイアウトで表示するということなんです。
 という事が
 最初のご質問時の内容からは、分からなかったので
 とりあえず、、Sheet3のB列に(コード)を入力することにより、
 他のA列(地域)C列(氏名)が表示されるようにしようという式になっています。

 >この式は、どのシートのどのセルに入力するのでしょうか
 A2=IF(COUNTIF(・・・
 ^^
 文字通りA2のセルですね。
 そして、C2へコピー

 繰り返しになりますが
 Sheet3のA列(地域)とC列(氏名)に、この式を入力しておくと
 B列に(コード)を入力した時に自動的にSheet1の情報と紐づいた内容が入力されます。

 (式の基本的な書き方については、ある程度理解されてると思ってよいのですよね?
 きっと、色々難しく考えすぎて、ぐるぐるしちゃってるだけだと思うので
 まずは、ゆっくり落ち着いて、よく式を見てみましょう。)

 さて、ここからが本題なのですが。
 その前に、以上のことを踏まえて、一度この式を実行してみてください。
 その上で、次のステップに進みましょう。
 
 説明文中にもあるように、
 おそらく、なさりたい事とは違っているとおもいますが、
 どうちがうのか、さらにどうしたいのかという点も踏まえて
 レスをくださいね。

 私からの、レスは夕方以降になりますのでご了承くださいね。
 と、その前に別の方から、もっと的確な答えがあるかもしれませんね(^^ゞ

 とりあえず、今日はここまで・・・。

 (gon-2)さん、よこからスイマセン
 (makirin)


 >(gon-2)さん

 折角のレスをいただいているのに・・・申し訳ございません。

 >(makirin)さん

 >いま一つわからない部分 ⇒「かなり・・でしょう!」すみません!

 >さらに計算式についての理解も・・・ ⇒推測の通りです!

 >時間がかかりそうですね。⇒ 「はい!覚悟しております!」

 >Sheet3のA列にコードを入力することにより、Sheet1と同じレイアウトで表示するです。

 やっぱりそうでしたか〜?(とりあえず、ここは安心!!??)

 >式の基本的な書き方については、ある程度理解されてると思ってよいのですよね?

 「えっ〜!・・・そんな・・・ほんの・・・す・こ・し・・・です。」(汗)

 >一度この式を実行してみてください。

 確認は致しました。何分、初心者なので・・数式バーも長くて式が見えなくなる?右側の方?
 自分の方法が悪い事は、むろん承知ですけど・・・。(汗)

 >仕事柄・・・出社前の時と帰宅した時間しか確認がとれません。(今日も21時の目安)
 いろいろとご不便をお掛けすると思いますがご協力をお願いします。
 (HY)


 (makirin)さん フォローありがとうございます。

 まず、Sheet2のC2へ地域名も表示しておきます。(マズイでしょうか?)
    A      B        C
1  番号  氏名	地域
2   300	 福田	大阪
 C2=IF(COUNTIF(Sheet1!B:B,A2),INDEX(Sheet1!A:A,MATCH(A2,Sheet1!B:B,0))&"","")

 Sheet3
    A         B        C
1  地域	   番号	  氏名
2  大阪	   300	  福田
 A2へ入力規則(ユーザー設定)を設定します。
 数式(F) → =A2=INDIRECT("Sheet2!C2")
 ※入力規則では他のSheetを直接参照できませんのでINDIRECTで間接的に参照します。詳しくはヘルプをご覧下さい。

 B2=IF($A2=Sheet2!$C2,VLOOKUP($A2,Sheet1!$A$2:$C$4,COLUMN(B1),FALSE)&"","")
 C2へコピー
 ※COLUMN関数は「列番号」を返します。COLUMN(A1)→1   COLUMN(Z1)→26  COLUMN(Z100)でも26です。
   蛇足で行番号を返すのは ROW関数です。 ROW(A1)→1     ROW(A26)→26     ROW(Z26)でも26です。

 としてみました。まだ、勘違いの点、疑問の点、マズイ点などありましたらレスしてください。(gon-2)


 (HY)さん、こんばんわ。
 昨日の続きを・・・。と思ったのですが
 まだ、次のステップに進むには早いような気がします。

 ここからは、推察ですので
 もし違ってたら失礼な表現になってしまう点ご了承ください。

 まず、計算式の具体的な意味(関数などの意味)という事ではなくて、
 式の書き方とか、計算式を利用する役割等の基本的な部分を
 まだ、十分理解なさってないのではないでしょうか?

 最初は、理解はしているけれど、難しく考えすぎてしまっている状態なのかなと
 感じたのですが。
 (こういう事は最初のうちは往々にしてあることですし・・・)

 >一度この式を実行してみてください。
 >>確認は致しました。
 と、仰っていますが、実際には実行されてないのではないでしょうか?

 >Sheet3のA列にコードを入力することにより、
 >Sheet1と同じレイアウトで表示するです。
 >やっぱりそうでしたか〜?(とりあえず、ここは安心!!??)

 私の説明が、確かに回りくどかったので
 説明文だけみれば、誤解なさったのかな。とも思いますが
 でも、実際に式を実行しみた結果は、やってみれば目に見えることですから
 ここで、このようなお返事が返ってくるハズがないのですが・・・。

 前述ですが、ここでの式は
 Sheet3のB列に(コード)を入力することにより、
 他のA列(地域)C列(氏名)が表示されるようにしようという式になっています。

 >「↑大阪と入力 ⇒ 「300」⇒ 福田」とイコールにしたいのです。
 >(つまり東京と打ったらエラー表示がでるような・・・。)が要望なんです。

 このご要望についてですが文言に不備がないという前提で
 この言葉通りに解釈すると、考え方が破たんしていますよね。

 まず、
 大阪と入力 ⇒ 「300」⇒ 福田」とイコールにしたい
 これを実現しようとすると下記のようになります。

   A          B         C
 1  地域	    コード     氏名
 2  手入力  計算式     計算式

 この状態で、
 つまり東京と打ったらエラー表示がでるような
 これを実現しようとすると・・・?

 地域を入力した時点で、B(コード)とC(氏名)が決定されるわけですから
 そもそも、不整合を起こすことはあり得ないですよね。

 B(コード)とC(氏名)には、既に計算式が入っているのですから。
 先にコードまたは、氏名が入力されている状態でエラーを判断するというのも
 おかしな話ですよね。 

 たとえば、Sheet1の方の地域に記載のない、静岡と打ったらエラーにという
 話であれば、理解できますが。

 上記の内容は
 計算式とはなんたるかを理解していれば
 すぐに、おかしいと気づく内容だと思うのです。

 ですから、説明文の方が不正確との判断で
 こんなことが言いたかったかな?と、こちらが文字通りではない
 解釈をして、(gon-2)さんは回答をくださったのだと思います。
 なので、
 >としてみました。
 >まだ、勘違いの点、疑問の点、マズイ点などありましたらレスしてください。
 とのお言葉があるのだと思います。

 私も、昨日までは次のステップで
 なさりたい事について、もう少し詳しく聞いて・・・。と考えていましたが
 今回の、お返事の内容から察するに、
 このご要望は、文字通りなのではないかと思ったのです。
 ですから、計算式とはなんたるかを理解なさってないとの判断した次第です。

 >時間がかかりそうですね。⇒ 「はい!覚悟しております!」
 との事ですし、
 ここはまず、ご質問の内容を一旦脇に置いて
 基本の部分を勉強なさってから
 また、ここに戻られる事をお勧めします。
 もちろん、基本の部分でも、分からない事があれば
 別スレでご質問を頂けば、お役に立てることもあると思いますし、
 まずは、焦らずに基本的なところから理解して
 すこしずつ、ステップを踏んで行くのが近道だと思います。

 とても、長い文面になったにも関わらず
 直接的なご回答になってなくて申し訳ありません。
 (makirin)

 何をなさりたいのか疑問はあります。おおすじでの使用目的を記されるのがよいかもしれませんね。

 >Sheet3のA列にコードを入力することにより、Sheet1と同じレイアウトで表示するです。
  矛盾があるのは承知しておりましたが、当初HYさんが番号と記されたのを私がコードなどと表記したために誤解(誤記)された
 のかなと勝手に推察しています。

 手順はともかくとして、Sheet1におおきなリストがあり、Sheet2で絞込み、Sheet3で絞込み以外の入力は出来ないようにする。
 などと解釈しましたが、あまり想像をたくましくすると早トチリの感が否めませんね。(gon-2)


 >(makirin)さん
 意味不明、理解不能なのは認めます。(苦笑) 本当に・・・やりましたか?
 同じように?やったつもりです。結果はNG。(自分が悪い!)
 簡単に記載すると、数式パレットで入力の際、右側にエラー表示が発生。
 自分の操作が悪い事は100も承知です。数式バーに数式が見えなくなる?
 見えた時もある?「、」「""」、「&」の入力の問題?と推測。

 ご指摘いただいた事は、素直に認めますし、反省もしてます。
 ただ、「嘘」だけはついてません!(マジ!)
 回答をくださる方には、意味不明で解釈が困難も認めますし、反省も
 してます。(開き直っているわけではありません。)
 基本が大切ですよ!凄くわかります。(何事もそうですし・・・)
 じゃ〜、HYは行動、実現しているか・・・できてません!(笑)
 何故か「仕事で理解よりも、先に答えが欲しいからです。」
 遠回り、回り道とご指摘を受けそうですが、それが現実です。(笑)
 でも、いかなる理由があるにせよ 基本を大切には伝わりました。
 お手間、お手数をお掛けしました。(頑張ります!、笑)

 >(gon2)さん

 ほんと色々お手間をお掛けしまして、大変に申し訳ありせん。

 >おおすじでの使用目的を記されるのがよいかもしれませんね。

 おっしゃる通りですね! まず これが表現出来ないのが原因。

 とりあえず、今までの式を再度確認してます。

 けして諦めないと記載しましたが、・・・理由は上記内容です。

 こんな意味不明な質問をしておいて・・・、回答をしてくださる
 方に失礼です。まずは、自分で苦しみます。(それでお許しを・・・)
 整理が出来て、悩んでしまったらまた、記載します。
 その時に、お時間と意味が理解できましたら、お返事を下さい。
 重ねまして感謝を申し上げます。
 (HY)


 まだ、見てくださってるとよいのですが・・・

 前述の失礼なコメントお許しください。
 率直な感想だったのですが
 確かに、身も蓋もない回答ですよね。

 >何故か「仕事で理解よりも、先に答えが欲しいからです。」
 その通りですね。
 理解、応用は二の次でも
 とりあえず、やりたい事を実現できれば良いという考え方もありますものね。
 不愉快な思いをさせてごめんなさい。

 >おおすじでの使用目的を記されるのがよいかもしれませんね。
  (gon-2)さんの姿勢をみて、とても反省しています。

 >整理が出来て、悩んでしまったらまた、記載します。

 ある程度できたら、
 (前述のコメントの、考え方の矛盾点が納得できたら)
 途中でもいいので、なさりたい事を、お伝えください。
 こちらも、こんな事?あんなこと?と想像して
 やり取りをしながら、考えていくと糸口が見つかるかもしれません。

 ここからは、具体的な解決策に向けての第一歩。

 まず、
 >同じように?やったつもりです。結果はNG。
 >数式パレットで入力の際、右側にエラー表示が発生。

 数式パレットを使った事が、あまりないのでよく分かりませんが
 このことは、後で検証してみるとして

 ☆セルに直接、式を入力したらどうなりますか?

 補足ですが、
 もちろん、Sheet1が下記のように入力されている事が前提ですよ。

    A         B        C
1  地域	  コード	  氏名
2  東京	   100	  小泉
3  名古屋	   200	  安倍
4  大阪	   300	  福田

 sheet3のA2セル(地域)の中に、
 =IF(COUNTIF(Sheet1!$B:$B,$B2),INDEX(Sheet1!A:A,MATCH($B2,Sheet1!$B:$B,0))&"","")

 を直接入力。

 入力後
 sheet3のA2セルを選択して、C2セル(氏名)へコピー

 まずは、ここまでやってみてください。

 そして、
 B2セル(コード:番号)に、300と入力

  Sheet3
    A         B        C
1  地域	  コード	  氏名
2  大阪	   300	  福田

 このように表示されたら、ひとまず成功ですね。
 結果のお返事お待ちしてます。

 (makirin)


 数式パレットの件追記です。

 結論から申しますと、
 完成した式の場合、上記のようにセルに直接入力した方が「簡単、確実」です。

 引数が分からない時に利用する程度で
 あまり使った事がなかったのですが
 今回、使ってみました。
 やっと、 (HY)が仰っていた事が分かりました!
 正直???だったんですね…。

 今後は、数式パレットを使わない前提ですが
 やはり、気になるでしょうから少しだけ解説をしてみます。

 >右側にエラー表示が発生。
 これは、真の場合の式を入力したときに、右側に赤で#N/Aと表示された事を
 指してるのですよね。

 これは、式の戻り値(結果)がエラー値だよ。と教えてくれているだけなので
 臆することなく、次に進んでOKだったんですよ。
 (エラー値についての説明は割愛します)

 きっと、赤文字に驚いて、そのまま作業を終了してしまったのでしょうね。

 待てよ、
 もしかして、「正しくありません」とのエラーですか?
 だとしたら、
 IF(条件式,TRUE(真),FALSE(偽))をご理解されてない可能性が・・・。

 今回の式の場合、真の場合に入力すべき式は
 INDEX(Sheet1!A:A,MATCH($B2,Sheet1!$B:$B,0))&""
 です。

 >数式バーに数式が見えなくなる?
 ご一緒に画面を操作できると、一目瞭然なんですが…

 文章でのご説明では分かりずらいと思うので
 画像付きで解説されているサイトを見つけました。
 ご参考になさってください。

 ☆かなり、丁寧に基礎的な事が解説されてますので
 一通り、目を通されると勉強になると思います。
 急がば回れとは、なにも諦めろという事ではなく
 こういったサイト等を一通りお読みになってから・・・という事です。
 一日もあれば、深く理解はせずとも、さらっと読む程度はできますよね。

http://shok.co.jp/it/it_excel/excel03-01.htm

http://members.at.infoseek.co.jp/t_shun/My_Page/Excel_Chair/chair_menu.htm

 (makirin)


 >(makirin)さん

 >失礼なコメントお許しください。
                 ^^^^^^^^^^^^^^^
 何を仰っているんですか・・・失礼なのは(100%)自分の方です。

 >不愉快な思いをさせてごめんなさい。
                       ^^^^^^^^^^^^^
 これも、自分の表現力が悪いですかね〜?けして不愉快とは感じてません。
 makirinさんが自分に対して「・・・あるべき、考えたほうが」は、十分に
 伝わってますよ!(笑)
 関数は「ド素人」ですけど・・・。スポーツ選手だって、一流選手ほど、
 基本に忠実ですし・・・。「基本に忠実&継続は力なり」
「仕事で理解よりも、先に答えが欲しいからです。」⇒「これも自分勝手」
 記載して恥ずかしい限りです。(この時は、ちょっと飲んでました。)

 >このように表示されたら、ひとまず成功ですね。⇒ 解決!!!(^o^)
 流れを記載すると長くなってしまうので省略。お手間かけました。(^_~;)

 >数式入力の部分もあっている部分とそこは違うかな〜!がありますが
 それは、自分のスキルの問題。(エクセル&質問の文章内容)

 >ご提示していただいたサイト2件も今日、寝てから確認を致します。
 本日は、仕事で「商談達成」と「この関数の答え?」ができ感謝です。

 >(gon-2)さん、(makirin)さん

 意味不明、理解不能で色々と考えさせてしまいまして深く反省してます。
 (特に、質問の内容)⇒(回答をいただいてからの自分の努力のなさ!)

 >ただ、言い訳に聞こえてしまうかも知れませんが、あっせっちゃうん
 です。回答をしていただいている方が「コレかな?コッチかな?」って
 きっと悩んでいるだろうな〜!って、質問をしてから、大きな商談も
 あったりして、集中&確認がとれなくて、本当に失礼しました。
 来週から、この数式を活用できるように、適宜内容をアレンジして
 みます。本当に感謝しております。「ありがとうございました!」

 (HY) 「関数の前に、相手の立場を考えろ!」自分自身に!(笑)


 (HY)さん、こんにちわ
 見てくださったようで、良かったです。
 もう、見てないだろうな思っていたので・・・。

 まずは余談ですが
 >本日は、仕事で「商談達成」
 おめでとうございます。

 >「・・・あるべき、考えたほうが」
 こうあるべきだ!という程の気持ちはなかったのですが

 やり取りを通じ、提示している式を入力して結果を得るという事が
 出来ない段階で、次に進んでも、話がややこしくなるというか、
 進みたくても、進めないですよね。
 ですから、基礎的な部分を・・・。という話でした。

 とりあえず、
 >⇒ 解決!!!(^o^)
 式を入力して結果を得るところまでは出来るようになったご様子なので

 本当に「なさりたい事」に向けて
 次へ進みましょう。

 まず、
 式を入力した結果を見ることができたので

 前述の
 >おそらく、なさりたい事とは違っているとおもいますが、
 >どうちがうのか、さらにどうしたいのかという点も踏まえて
 >レスをくださいね。

 最初のコメントの
 >この言葉通りに解釈すると、考え方が破たんしていますよね。
 から、下の部分の内容を、もう一度読んで
 どこに矛盾点があるのかを理解しながら

 (gon-2)さんご指摘の
 >おおすじでの使用目的を記されるのがよいかもしれませんね。

 この3点を参考にして、考え(実現したいこと)を整理してみてください。

 >ただ、言い訳に聞こえてしまうかも知れませんが、あっせっちゃうんです。

 お気持ちは、良く分かります。
 でも成果を焦るあまり、先すぎるステップに足を踏み入れても
 頭がぐるぐるして、既に理解できている事も、分からなくなってしまう事は
 特に初心者には、往々にしてありがちです。
 ですから、焦らない事が、一番の近道です。

 >回答をしていただいている方が「コレかな?コッチかな?」って
 きっと悩んでいるだろうな〜!って、

 こちらは、悩むのが好きなので?(笑)(したくて、してるので)
 お気になさる必要はありません。
 こちらも、たとえ、なさりたい事が分かっても
 実現できるような回答をご提示できるとは限りませんし(汗)

 要は、おせっかいな性格なだけですから。
 (makirin)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.