[[20110413101251]] 『(HANA)さん =DAY(一覧!A1)』(関数初心者) ページの最後に飛ぶ

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

 

『(HANA)さん =DAY(一覧!A1)』(関数初心者)

 とIF関数の変更をしたいです。
 タイトルが分りにくくてすいません。
 以前教えていただいた関数の変更についてなんですが

 利用表

     A   B  C  D  E     AF
 [1]     1  2  3  4  5
 [2]青木 ○  
 [3]田中

 この様なシートがあり
 AG1に=DAY(一覧!A1)
 AG2に=IF(INDEX(B2:AF,$AG1)="○",ROW(A1),"")
 と教えて頂いたのですがB2の○を1に変更したいので
 AG2の○を1に変更したのですがうまくいきません・・・
 どう変更したらよいかおしえて下さい。

(関数初心者)


 1.名指しの質問(と言う事でも無いのかもしれませんが)をされると
   他の方から回答が付きにくくなりますので、注意して下さい。
     本文の中で、「以前○○さんに教えて貰った〜」なんて
     情報を書いておかれると良いと思います。

 2.前の質問に続けて書くか(コメントを追加をすると、勝手に一覧に上がって来ますので)
   前の質問をリンクしておいて頂けると、探す手間が省けて良いと思います。
[[20110310073828]] 『3枚のシートから1つのデータの抽出のようなことが』(関数初心者)

 3.「AG2の○を1に変更したのですがうまくいきません・・・」
   と言う事ですが、数式を変更されたのですよね?
   どの様に変更して、どの様に上手くいきませんでしたか?

 AGに入れてある式は
 =IF(INDEX(B2:AF2,$AG$1)="○",ROW(A1),"")
 ですね?       ~    ~\ご提示の式と2ヶ所違います。

 単純に考えると、
 =IF(INDEX(B2:AF2,$AG$1)=1,ROW(A1),"")
           ○を1に変更/~
 で良さそうに思いますが、どうでしょう?

 (HANA)

(HANA)さんありがとうございます。

 "○"となっていたので○を1に変えただけでした。
 ""もいらないんですね。知りませんでした。
 すいません。本当に無知で。
 ありがとう御座いました。

『リンクデータでした・・・』

 すいませんまた問題が発生してしまいました。
 B2〜AF2のセルは別のシートからリンクされていて1と表示されています。
 リンクデータだとやはりだめみたいで・・・
 何か方法はありませんでしょうか?


 返信は↓にコメント欄が有りますので
 そちらからして頂けると良いと思います。
  (区切り線が勝手に入りますので。)

 それから、投稿の際は 名前を忘れずに書いて下さい。

 >""もいらないんですね。知りませんでした。
 「○」を「""」で囲うのは
 「○は文字ですよ」と言う意味です。

 例えば、A1:B5の範囲に「りんご」と言う名前を付けたとします。
 =りんご と書いた場合 A1:B5の範囲として扱われ
 ="りんご" と書いた場合 りんご と言う文字として扱われます。

 「1」と書いた場合は 1と言う値
 「"1"」と書いた場合は 1と言う文字 として扱われます。

 >リンクデータだとやはりだめみたいで・・・
 問題は別の所に有ると思います。

 =TYPE(B2),=LEN(B2),=B2=1,=B2="1" 等の戻り値で
 データを確認してみて下さい。

 また、別のシートの「1」はどの様に入力された物か。
 そのシートには、どの様にリンクしているのか。
  (数式でしたら、実際に入っている数式)
 を教えて下さい。

 関数初心者さんが持っているその様に成るファイルを、私は持っていませんので
 作るとしたら、どの様にして作った場合 同じ現象になるファイルが出来るのか
 教えていただけると 良いと思います。

 (HANA)

別のシートはこんな感じになっています。

   A     B    C     D    E   F   G  H

 3 NO  氏 名  居宅 要介護度 利用   1	 2  3
 4                 送迎   火 水  木
 5  1  伊藤               1     1		
 6
 7  2    田中               1  1  1
 8   

 Aの5と6はセルが結合されています。BCDの5と6もです。
 Fの5からが利用日には1と入力されています。
 直接このシートから一覧に出せれば良いのですが・・・
 最初に質問させていただいた時はこの利用表がなかったのですが
 この利用表を使うことになり・・・
 利用表(最初に使用していた)にF5からAJ5をコピー・リンク貼り付けを
 してみたら出来なかったのでリンクデータがだめなら
 この新しい利用表を使って出来ない物かと思うのですが・・・
 どうでしょう?
 何卒よろしくお願いいたします。

 (関数初心者) 	


 別のシートのデータ配置は分かりました。

 その他の部分に付いて教えて下さい。
 別のシートに関して
 =TYPE(F5),=LEN(F5),=F5=1
 は、それぞれどの様な結果に成りますか?

 また、このシートの最後の列(これまでの利用表だと、AF列にあたる列をどこに作って良いのか)
 を教えて下さい。

 (HANA)


 すいません。この数式はどこに貼ればよいでしょうか?
 =TYPE(F5),=LEN(F5),=F5=1
 AF列は=DAY(一覧!A1) この数式のことですよね。
 これはAQの列が表の枠外になるのでAQに作ることになります。

 (関数初心者)

 >この数式はどこに貼ればよいでしょうか?
 どこでも良いです。
 戻り値を教えて下さい。

 因みに、1つの式ではなく、3つの式が「,」で区切って一行に書いてあります。
  =TYPE(F5) の戻り値は?
  =LEN(F5)  の戻り値は?
  =F5=1     の戻り値は?
 それぞれ、どの様になりますか?

 >AF列は=DAY(一覧!A1) この数式のことですよね。
 そうでした。。。AF列ではなくAG列でしたね。。。

 まずは、新しい利用表に入力されている「1」に見えるデータが
 何なのか、確認して教えて下さい。

 (HANA)


 新しい利用表のF5に貼り付た結果です。
  =TYPE(F5) の戻り値は 0 
 =LEN(F5)  の戻り値は 0
  =F5=1     の戻り値は 0
 でした。
 新しい利用表の1は確認したら1と入力されている様です。

(関数初心者)


 新しい利用表のF5セルに「1」と入っていますね?
 これを元の利用表に
 >コピー・リンク貼り付け
 をして、元の利用表のB2セルに =新しい利用表!F5 とリンクされる様にしましたね?
 そして
 $AG$1セルが 1 に成っていて INDEX(B2:AF2,$AG$1) の結果が、B2セルを参照した
 「1」に成っているにも関わらず
 =IF(INDEX(B2:AF2,$AG$1)=1,ROW(A1),"") の式の戻り値が
 「1」と成らずに「""」と成りましたね?

 すると、元のF5セルの「1」が本当に「=1」で判定出来る「1」なのかどうかが
 問題になってきます。

 ですから、新しい利用表のF5セルに入っている「1」が実際はどの様な「1」なのか
 =TYPE(F5),=LEN(F5),=F5=1 等の数式の戻り値で確認して下さい。

 >新しい利用表の1は確認したら1と入力されている様です。
 これは、どの様に確認したのですか?
 見て確認したのであれば、まずは数式で確認して下さい。

 F5セルに入力されている「1」を消して、この数式を入れたのでは
 このセルに入力されている(た?)「1」が何なのか
 分かるはずがありません。

 (HANA)

  すいません。
  =TYPE(F5) の戻り値は 1
 =LEN(F5)  の戻り値は 0
  =F5=1     の戻り値は FALSE
 でした。
  F5セルに入力されている「1」には数式は入っていませんでした。
 これでいいのでしょうか?
 本当に何も分らずde
 申し訳ありません。。。

(関数初心者)


 >=LEN(F5)  の戻り値は 0
 と言う事は、F5セルに「1」は入っていませんね?

 そちらのシートの状態を伝えてもらえれば
 問題点や数式の変更箇所が分かるかと思いましたが
 そうもいかない様なので、先に数式を理解していただくのが良さそうです。

 (HANA)

 すいません。
 関数の意味を調べてみました。
  =TYPE(F5) の戻り値は 1
 =LEN(F5)  の戻り値は 1
  =F5=1     の戻り値は TRUE
 でした。
 本当に本当に無知ですいません。

 (関数初心者)


 >関数の意味を調べてみました。
 そうですか。

 でしたら
 =IF(INDEX(B2:AF2,$AG$1)="○",ROW(A1),"")
 の式に関しても、意味を調べて理解につとめて下さい。

 >=F5=1     の戻り値は TRUE
 と成るのなら、新しい利用表の範囲やデータ状態に合わせて
 =IF(INDEX(B2:AF2,$AG$1)=1,ROW(A1),"")
 の式を変更するだけで良いと思います。

 (HANA)


 度々すいません。
 新利用表から一覧への利用者名を表示させることは出来ましたが
 送迎時間が#N/A となってしまいました。

 C20のせるには下記の数式が入っています。
 どうかご指導下さい。
 =IF($A20="","",IF(INT(VLOOKUP($A20,送迎表!$A$1:$C$20,2,FALSE)*48-12)=COLUMN(A1),VLOOKUP($A20, 送迎表!$A$1:$C$20,2,FALSE),
     IF(INT(VLOOKUP($A20,送迎表!$A$1:$C$20,3,FALSE)*48-12)=COLUMN(A1),VLOOKUP($A20,送迎表! $A$1:$C$20,3,FALSE),""))) 

 (関数初心者)

 その他の部分も、どうなっているのかご説明が必要かと思いますが。

 「VLOOKUP($A20, 送迎表!$A$1:$C$20,2,FALSE)」
 を単独で計算した時の戻り値が #N/A に成りますか?

 A20には 利用者名が表示されていますね?
 送迎表のA1;A20の範囲に、同じ名前が有りますか?

 (HANA)

 いろいろご指導ありがとう御座います。
 只今確認したところ
 一覧は氏名の間にスペースがないのに
 送迎表にはスペースがありました。
 「関数が間違っている」との思い込みで
 こんな事まで教えていただいて・・・
 本当にお手数をお掛けいたしました。
 今度こそ上司にOKをもらえると思います。

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

 (関数初心)

 問題ヶ所が見つかりましたか。良かったです。

 数式でエラーが出る場合
  1.どの部分でエラーが出ているのか確認
  2.そのエラーはどう言った時に出るのか確認
  3.数式やデータがどうなっているのか確認
  4.問題点を修正
 と段階を追って確認して行く事に成ると思います。

 今回の場合
 >>「VLOOKUP($A20, 送迎表!$A$1:$C$20,2,FALSE)」
 >を単独で計算した時の戻り値が #N/A に成りますか?
 これが 1番 です。

 VLOOKUP関数のヘルプを見ると
 >>検索の型に FALSE を指定し、検索値が見つからない場合は、エラー値 #N/A が返されます。
 と書いてあります。
 これが 2番。

 そして、そちらで確認して貰った
 >一覧は氏名の間にスペースがないのに
 >送迎表にはスペースがありました。
 これが 3番 ですね。

 いきなり長い数式をたくさん書きましたので
 理解の為に、どこから手を着けて良いのか分からないとは思いますが
 一つずつ戻り値を確認しながら見て貰うと良いと思います。

 こういった表は、まだまだ変更になることも有ると思いますので
 今後の為に、少しずつ数式を理解していって頂ければと思います。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


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