パソコン困りごと掲示板
◇-?エクセルのリンクが変換されない-kuronbo(2005/08/02-12:13)No.280047
 ┣?!Re:エクセルのリンクが変換され...-白茶(2005/08/02-14:17)No.280075
 ┃┗?!!Re:エクセルのリンクが変換され...-kuronbo(2005/08/02-14:34)No.280084
 ┃ ┣?!!!Re:エクセルのリンクが変換さ...-白茶(2005/08/02-15:40)No.280097
 ┃ ┃┗?!!!!Re:エクセルのリンクが変換さ...-kuronbo(2005/08/02-16:00)No.280100
 ┃ ┃ ┗?!!!!!Re:エクセルのリンクが変換...-白茶(2005/08/02-16:41)No.280107
 ┃ ┃  ┗?!!!!!!Re:エクセルのリンクが変換...-kuronbo(2005/08/02-17:39)No.280121
 ┃ ┃   ┗?!!!!!!!Re:エクセルのリンクが変...-白茶(2005/08/02-17:53)No.280131
 ┃ ┃    ┗?!!!!!!!!Re:エクセルのリンクが変...-kuronbo(2005/08/02-17:58)No.280134
 ┃ ┃     ┗?!!!!!!!!!Re:エクセルのリンクが...-白茶(2005/08/02-18:24)No.280143
 ┃ ┃      ┗?!!!!!!!!!~Re:エクセルのリンクが...-白茶(2005/08/03-08:37)No.280284
 ┃ ┃       ┣?!!!!!!!!!~!Re:エクセルのリンク...-半端者(2005/08/03-09:19)No.280288
 ┃ ┃       ┗?!!!!!!!!!~!Re:エクセルのリンク...-kuronbo(2005/08/03-10:17)No.280298
 ┃ ┗?!!!Re:エクセルのリンクが変換さ...-半端者(2005/08/02-16:03)No.280101
 ┃  ┗?!!!~ひえ〜〜!!...-白茶(2005/08/02-16:54)No.280110
 ┃   ┗?!!!~!Re:ひえ〜〜!!...-半端者(2005/08/02-17:09)No.280114
 ┗?!Re:エクセルのリンクが変換され...-半端者(2005/08/02-14:22)No.280076

▲このページのトップに戻る
280047エクセルのリンクが変換されないkuronbo 2005/08/02-12:13

メーカー名:IBM アイビーエム
OS名:Windows2000
パソコン名:ThinkCentre
--
業務でエクセルを使用しております。
エクセルのセルに判別式を入れて、ケースに応じて別のデータベースシートから
データをもってくる形としております。
ところが、あるときには、その判別式が、きちんと判断することも
ありますが、あるときには、判別式が判断しないでデータを
出力することがあり、当方とても困っています。
もっと具体的に言うと、
入力セルにAという入力をします。
別シート(データベースシート)には
A⇒11
B⇒22
と入力しておきます。
判別式には
Aのとき、Bのときそれぞれのデータ取得方法を記載します。

あるときBという入力をします。
通常はそのセルには22という出力がされますが、
またある時には、最初に仮に入力してあるAの出力結果の
11が出力されたままとなっています。

こんなケースがなくなるようなうまい方法があるのでしょうか?

毎回使用方法は同じなのですけどうまくいかないのです。


▲このページのトップに戻る
280075Re:エクセルのリンクが変換されない白茶 2005/08/02-14:17

記事番号280047へのコメント
こんにちは。

もちろん計算方法は「自動」ですよね?


判別式はLOOKUPの類ですかね?
だとしたら、データリストの検索値が昇順に並んでないとか?

もしよければ、具体的な数式を提示してみて下さいな。


▲このページのトップに戻る
280084Re:エクセルのリンクが変換されないkuronbo 2005/08/02-14:34

記事番号280075へのコメント
白茶さんは No.280075「Re:エクセルのリンクが変換されない」で書きました。

計算方法は「自動」になっています。

判別式は、たとえばこんなものです。
=IF(AND(C24>=200,C24<=220,C74=1),VLOOKUP(C7,別ファイル!A24:R38,2,0),
IF(AND(C24>=380,C24<=440,C74=1),VLOOKUP(C7,別ファイル!A24:R38,3,0),
IF(OR(C74=2,C74=3),C76,"")))

データリストの検索値も昇順に並んでいます。

うまく出力されるときと、されないときの両方があるので困っています。

▲このページのトップに戻る
280097Re:エクセルのリンクが変換されない白茶 2005/08/02-15:40

記事番号280084へのコメント
お返事どうもです。

>=IF(AND(C24>=200,C24<=220,C74=1),VLOOKUP(C7,別ファイル!A24:R38,2,0),
>IF(AND(C24>=380,C24<=440,C74=1),VLOOKUP(C7,別ファイル!A24:R38,3,0),
>IF(OR(C74=2,C74=3),C76,"")))
>

ええーと、

●IFその1:
 C24が200〜220で
 C74が1のときは、

 別ファイルのA列中の、C7と同じ値がある行の、
 B列にある値を表示。


●IFその2:
 C24が380〜440で
 C74が1のときは、

 別ファイルのA列中の、C7と同じ値がある行の、
 C列にある値を表示。


●IFその3:
 C74が2か3のときは、

 C76を表示。

●それ以外の時は空白文字列を返す。


と。


試しに、
D7に上記の式を入れ、
C24とC74にそれぞれ値を入れてテストしてみました。

現象は再現出来ず、全ての検索値に付いて正常に反応しました。
この数式の記述自体に問題があるようではなさそう。


VLOOKUPを使用していることと、
>うまく出力されるときと、されないときの両方がある
ことから、

やはり問題は「別ファイル」のA列の並びかなと感じます。

「別ファイル」のA列に重複データはありませんか?

あと、この手の数式が配置されているセルは、
複数あるのでしょうか?

その場合、
VLOOKUP式の「別ファイル!A24:R38」
この範囲指定がズレてたりとかは・・・?



# 内心「ヤバイ、解からんかも・・・」と思っています。
# でも付き合いますよ。


▲このページのトップに戻る
280100Re:エクセルのリンクが変換されないkuronbo 2005/08/02-16:00

記事番号280097へのコメント
白茶さんは No.280097「Re:エクセルのリンクが変換されない」で書きました。

親身になって回答いただき有難うございます。
どうしようもなく試しに掲示してみたのですが、少し感動してます。

A列のならびは昇順になってました。
範囲指定も問題がないようです。
A列以外のデータセルは空白セルがときどきありますが、
これは問題ないですよね?

ファイル全体にはこのような数式がたくさん配置されていて、
時として、どこかにエラーが発生します。
(エラーが発生しないときが多いのですが)
素人が作成しているので、数式はあまり美しくないのですが
(泥臭いIF文ばかり)
なにか、数式のミスと違う次元の問題のような気がしてます。


▲このページのトップに戻る
280107Re:エクセルのリンクが変換されない白茶 2005/08/02-16:41

記事番号280100へのコメント
ども。

>A列以外のデータセルは空白セルがときどきありますが、
>これは問題ないですよね?

ですね。

もし、VLOOKUP内に問題があるのであれば、
何処かに
=VLOOKUP(C7,別ファイル!A24:R38,2,0)
=VLOOKUP(C7,別ファイル!A24:R38,3,0)
だけを出して検証してみると良いです。

この検証で問題がなければ、
問題はVLOOKUPではなく、
IFの優先順位にあると思います。




ちょっと、別式を作ってみました。

その前に「別ファイル!A24:R38」に対して、
「名前を定義」しましょう。

別ファイルのA24:R38を選択した状態で、
数式バーの左にある「名前ボックス」に「データ」と入力してください。

これで参照範囲のズレを気にする事なく数式を考えられます。

で、
=IF(C74=1,
IF((C24>=200)*(C24<=220),VLOOKUP(C7,データ,2,0),
IF((C24>=380)*(C24<=440),VLOOKUP(C7,データ,3,0),"")),
IF((C74=2)+(C74=3),C76,""))

C74が「1」か「2」か「3」かを
最優先に判断します。
その上でC74が「1」だった場合の条件を真ん中に配置してます。


お試しあれ。


▲このページのトップに戻る
280121Re:エクセルのリンクが変換されないkuronbo 2005/08/02-17:39

記事番号280107へのコメント
白茶さんは No.280107「Re:エクセルのリンクが変換されない」で書きました。

まだ検証が済んでいないうちに回答するのはちょっと
失礼かもしれませんが、

IF文に曖昧な指示があると、場合によって
ある条件になったり、場合によって違う条件に
なりうるということでしょうか?

うまくいく場合といかない場合というのが、どうしても
解せなくて悩んでいます。

例えばこんな例もありました。
やっぱりリンクがうまくいかなくて、間違った出力をしてしまったのですが
あとでその違う出力をしたセルを選択して、手動でENTERを
押したら、なんとリンクがうまく変換したのです。

入力項目を何も変えていないのに、このような事ってあるんでしょうか?

▲このページのトップに戻る
280131Re:エクセルのリンクが変換されない白茶 2005/08/02-17:53

記事番号280121へのコメント

あ、

>うまくいく場合といかない場合
て、そういう意味だったんですね。

検索値によって
うまくいく値といかない値
があるのかと思っちゃいました。
失礼。。


・・・ちょっと調べます(滝汗)


▲このページのトップに戻る
280134Re:エクセルのリンクが変換されないkuronbo 2005/08/02-17:58

記事番号280131へのコメント
白茶さんは No.280131「Re:エクセルのリンクが変換されない」で書きました。

す、すいません。
私の説明不足でした。最初からちゃんと説明しておけば
よかったですね。

▲このページのトップに戻る
280143Re:エクセルのリンクが変換されない白茶 2005/08/02-18:24

記事番号280134へのコメント

とりあえず情報です。

http://office.microsoft.com/ja-jp/assistance/HP052093351041.aspx
より、

範囲の左端の列にある文字列を検索する場合は、範囲の左端の列にあるデータの先頭または末尾にスペースがなく、左右とも同じ向きの引用符 (' または ") や左右で違う向きの引用符 (’ または ”)、印刷されない文字が矛盾なく使用されていることを確認してください。これらの文字の使用に矛盾があると、VLOOKUP によって誤った値や予期しない値が返されます。

数値や日付型の値を検索する場合は、範囲の左端の列にあるデータが文字列として保存されていないことを確認してください。これらのデータが文字列として保存されていると、VLOOKUP によって誤った値や予期しない値が返されます。


http://web1.nazca.co.jp/hp/popurap/toraburu/excel/e2.html
より、

状況:
SUMが正しく計算されない。

原因:
ダブルクリックして再度計算させると上手く行くが計算方法が手動になっているわけではない。シートが壊れているらしい。

対処:
新規作成で新しい文書つくってもエラーが引き継がれる。 先に新規の文書を開いておいて問題の文書を開けば新規文書の方は大丈夫なのでコピーしてみた。


ん〜。
二番目の症例は興味深いですね。

も少し調べます。


▲このページのトップに戻る
280284Re:エクセルのリンクが変換されない白茶 2005/08/03-08:37

記事番号280143へのコメント
あと、

もし、お使いのExcelのバージョンが97なら、

[XL97] セル参照を含むセルの値が自動的に再計算されない
http://support.microsoft.com/default.aspx?LN=JA&scid=kb;JA;410231

[XL97]自動再計算処理修正ツールについて
http://support.microsoft.com/default.aspx?LN=JA&scid=kb;JA;174868

というのが出てました。


▲このページのトップに戻る
280288Re:エクセルのリンクが変換されない半端者 2005/08/03-09:19

記事番号280284へのコメント
白茶さんは No.280284「Re:エクセルのリンクが変換されない」で書きました。

 昨日は、失礼致しました。
 本日、急ぎの仕事を1つ片付けてこのレスを覗いてみたら、質疑の流れが意外な
方向に流れていますね。
 確かに、
>[XL97]自動再計算処理修正ツールについて
>http://support.microsoft.com/default.aspx?LN=JA&scid=kb;JA;174868
の文書番号 410231 が、怪しい。

条件 1 :行番号を 16 で割った余りが 1 (行番号 MOD 16 = 1) になる行 (たとえば
17 行目、33 行目、49 行目など) に、左隣のセルを参照する数式が隣り合って
18 個以上ある。

 が根本原因なら、修正の適用を受ける前に、参照データ領域を全体に1行下に
ズラしてみるということで、検証できるかな。
 但し、現象が出るとき、出ないときがあるということだと、試行回数を重ね
なければいけないので、先に修正をかけてしまって、解決できるかどうかを
見たほうが早いかな。

 kuronboさんには、是非、試してもらって、結果が知りたいですね。

▲このページのトップに戻る
280298Re:エクセルのリンクが変換されないkuronbo 2005/08/03-10:17

記事番号280284へのコメント
白茶さんは No.280284「Re:エクセルのリンクが変換されない」で書きました。

おはようございます。
確かに会社で使用しているパソコンはエクセル97が多かったです。
何しろ、エラーが出るときと出ないときがあるので、
故意にエラーを出すことができなくて、今すぐに検証ができません。
まずはツールを導入して様子を見てみます。

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

▲このページのトップに戻る
280101Re:エクセルのリンクが変換されない半端者 2005/08/02-16:03

記事番号280084へのコメント
>判別式は、たとえばこんなものです。
>=IF(AND(C24>=200,C24<=220,C74=1),VLOOKUP(C7,別ファイル!A24:R38,2,0),
>IF(AND(C24>=380,C24<=440,C74=1),VLOOKUP(C7,別ファイル!A24:R38,3,0),
>IF(OR(C74=2,C74=3),C76,"")))

・上の記述式が正しければ、
(1)C24が200以上、220以下で且つ、C74が1のときは、
(参照シートのA24からR38の範囲でB項目の値と)C7の値が一致するものを表示させ、
(2)C24が380以上、440以下で且つ、C74が1のときは、
(参照シートのA24からR38の範囲でC項目の値と)C7の値が一致するものを表示させ、
(3)C74が2か3のときは、C76には何も表示させない。

・この式で、(1)(2)で
(参照シートのA24からR38の範囲でB項目の値と)C7の値が一致しないとき。
は、どうなるんだろう。VLOOKUP()の第4パラメータが”0”だから、
検索の型に FALSE を指定した場合と一緒。
検索の型 にFALSE を指定すると、検索値 と完全に一致する値だけを検索、
見つからない場合は エラー値 #N/A が返す。と・・・。
FALSE を指定した場合は、範囲のデータを並べ替えておく必要はない。

・現象は、VLOOKUP()の第4パラメータが”1”=”TRUE”を指定した時に起こり
 易そうな?!

 ああ、面倒くさい。
 白茶さんにご登場いただいたので、お任せしよう〜っと。

・ただ、こんな風に自分で計算式を立てたときに立ち返って、ロジックを追っ
 ていくと、解決の糸口は見えてくるんじゃないかな。
 白茶さん、よろしくお願いします。無責任で失礼!!

▲このページのトップに戻る
280110ひえ〜〜!!白茶 2005/08/02-16:54

記事番号280101へのコメント


み、見捨てないでぇ。。


▲このページのトップに戻る
280114Re:ひえ〜〜!!半端者 2005/08/02-17:09

記事番号280110へのコメント
白茶さんは No.280110「ひえ〜〜!!」で書きました。

 ごめんなさい。m(..)m
 今日、6:00までに銀行行かないと、どうしても手持ちの ○ が・・・。
 明日までに未解決で宿題残ったら、「***をやてみれ」と書いといて頂だければ
協力します。
 ただ、白茶さんの実力なら大丈夫でしょう!! ご容赦あれ。


▲このページのトップに戻る
280076Re:エクセルのリンクが変換されない半端者 2005/08/02-14:22

記事番号280047へのコメント
kuronboさんは No.280047「エクセルのリンクが変換されない」で書きました。

>入力セルにAという入力をします。
>別シート(データベースシート)には
>A⇒11
>B⇒22
>と入力しておきます。
>判別式には
>Aのとき、Bのときそれぞれのデータ取得方法を記載します。
>
>あるときBという入力をします。
>通常はそのセルには22という出力がされますが、
>またある時には、最初に仮に入力してあるAの出力結果の
>11が出力されたままとなっています。
>
>こんなケースがなくなるようなうまい方法があるのでしょうか?

 申し訳ないですが、命題が良く理解できません。
・判別式とは、論理式のIF関数のことですよね。
・ぼんゃりとは分かるのですが、ハッキリしないので、記述した式を
 そのまま貼り付けてみて貰えますか。
(たぶん、真偽判定の記述に抜けがあるのだろうとは思いますが・・?)