Excel総合相談所 88

このエントリーをはてなブックマークに追加
952名無しさん@そうだ選挙にいこう:2009/12/23(水) 18:25:14
データ−外部データの取り込み−webクエリ
2003以前ならしらない
953名無しさん@そうだ選挙にいこう:2009/12/23(水) 20:26:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002

セルにファイル名を書き、そのセルを選択してボタンのクリでアクロバットリーダーが立ち上がり、
PDFを開くようにしますた。このとき、セルに入れたファイル名が hoge.pdf ならおkですが、
hoge.PDF だとダメぽです。

FN = ActiveCell.Value
FOL = ActiveCell.Offset(0, -1).Value
If Right(FN, 3) = "pdf" Then
  Call ShellExecute(0, "open", FOL & "\" & FN, vbNullString, vbNullString, 1)
End If

この If Right(FN, 3) = "pdf" Then を If Right(FN, 3) = "pdf" Or "PDF" Then に
変えてもダメぽですた。Ifを無くせば立ち上がりますが、意図しないセルを選んだときに
誤動作を防ぐ意味で書いてます。どこを直せばいいですか?
954名無しさん@そうだ選挙にいこう:2009/12/23(水) 21:04:49
>>953

orの使い方が間違ってる。
Right(FN, 3) = "pdf" Or Right(FN, 3) = "PDF"
955名無しさん@そうだ選挙にいこう:2009/12/23(水) 21:06:43
>>953
自分だったら
If UCase(Right(FN,3)) = "PDF" Then
とでもするかな。あんまり無いとは思うけど"Pdf"とか"pDF"とかあったら困るじゃん

あと
> If Right(FN, 3) = "pdf" Or "PDF" Then に
> 変えてもダメぽですた。

「演算子の優先順」について調べたほうがいいと思う
956953:2009/12/23(水) 21:41:55
>>954-955
ありがとうございます。どちらもうまくいきますた。
演算子の優先順も調べますた。
お恥ずかしい限りです・・・
957名無しさん@そうだ選挙にいこう:2009/12/24(木) 04:32:52
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 Excel 有休 計算 残日数 7時間45分


有給休暇の残り日数を管理しています。
1日=7時間45分
と考えて次のような計算シートを作りたいのですが…

現在の残り日数…[1日3時間15分]
今回の使用日数…[4時間]
   ⇒ 結果… 7時間

こんな感じにしたいのですが、検索してもなかなかこれだという物が出てきません…
カッコ内に自分で残り日数と使用日数を入力すれば、結果を自動計算してくれる、という物が理想です。

手計算だと計算間違いが多いので、色々な人に自由に使ってもらえるような形にしたいと思っています。ご助言頂ければ幸いです
958名無しさん@そうだ選挙にいこう:2009/12/24(木) 09:01:07
日付+時間の計算は、探せば、見つかるはず(昔使った記憶がある)
#今風邪で探すのめんどい
959複乳:2009/12/24(木) 09:04:14
>>957
その現在の残り日数1日3時間15分は、10時間15分ととらえてよいのか?
そこから4時間減れば6時間15分だと思うんだけど
計算方法が良く分からない
960複乳:2009/12/24(木) 09:52:02
>>957
見間違えてたぜ。寝不足は良くないなぁ
B1=INT(ROUND(D1/(7.25/24),8))
C1=D1-ROUND(B1*7.25/24,8)
D1=10:15
D1は前月繰越を直接入力、A1は空白

A2に今回の時間
B2C2は下にオートフイル
D2=D1-A2
これでどう

ちなみに時間計算でfloor使うと小数誤差が
起きやすいからあんまり使わないほうがいい
961名無しさん@そうだ選挙にいこう:2009/12/24(木) 12:35:44
7時間45分だから10進に直せば7.75だろ
基本的に時間で管理して表示するときだけMOD()で日単位にすればいい
962名無しさん@そうだ選挙にいこう:2009/12/24(木) 12:37:12
10進ってゆーの・・・・知らなかった
963複乳:2009/12/24(木) 12:59:33
そうだな。合歓い
964名無しさん@そうだ選挙にいこう:2009/12/24(木) 16:13:58
excel2003、標準ビューに改ページプレビューの
点線みたいなのが表示されるんですが消すことはできますか
965名無しさん@そうだ選挙にいこう:2009/12/24(木) 16:45:11
繰り越しが20日あるとして年初に休暇日数が40日だとする。
1日が7:45だから、×40で310:00。日に直すときは=INT(A1/TIME(7,45,0)) =40

4時間の休暇取得は引き算でいい。B1に"4:00"が入ってればC1=A1-B1 =306:00
結果はD1=INT(C1/TIME(7,45,0)) =39日
E1=MOD(C1.TIME(7,45,0)) =3:45
966複乳:2009/12/24(木) 16:59:26
>>964
ツール おぷしょん 表示 改ページ
967名無しさん@そうだ選挙にいこう:2009/12/24(木) 17:40:35
>>966
ありがとうございました
968957:2009/12/24(木) 23:24:32
レスくださった方々、ありがとうございます!

参考にしながらなんとか求めていた形のシートを作る事が出来ました。これで計算間違いを減らせそうです。
969名無しさん@そうだ選挙にいこう:2009/12/25(金) 01:23:15
1以上の数字が入っているセルを、
全て1に置き換えたいんですが、どのようにすればいいのでしょうか。
置換でワイルドカードがうまくつかえなくて・・・。
970名無しさん@そうだ選挙にいこう:2009/12/25(金) 01:31:15
>>969
数字の大小を条件に置換することはできない
作業列に=IF(A1>1,1,A1)とか入れる
二次元の表なら作業シートかマクロか条件付き書式で
971名無しさん@そうだ選挙にいこう:2009/12/25(金) 03:09:09
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 印刷されない 網掛け フォーム コントロール テキストフィールド
ttp://www.vector.co.jp/soft/dl/win95/business/se456949.html
上のURLでダウンロードできる見積書みたいに入力できる場所だけに
印刷されない網掛けみたいなのをかけたいのですが、
この網掛けのような物はどうしたら設定できるのでしょうか?

シートの保護は出来てます。

説明が下手ですみません。
972名無しさん@そうだ選挙にいこう:2009/12/25(金) 03:26:59
>>971
このファイルは印刷プレビュー→設定→シート→のところの
白黒印刷にチェックがついている。
これをはずすとカラー印刷のプレビューになる
これのことかな?
973971:2009/12/25(金) 03:45:51
>>972
ありがとう御座います。
凄い申し訳ないです。勘違いしてました。

URLの見積書で出来てるのだと勘違いしてました。

印刷されない網掛けって出来ないのかなぁと思いまして・・・
974971:2009/12/25(金) 03:51:57
相談を間違ってしまっていたので、もう一度書き直させて頂きます。
すみません。

【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 印刷されない 網掛け フォーム コントロール テキストフィールド

印刷されない網掛けみたいなのをかけたいのですが、
網掛けのような物は設定できるのでしょうか?

>>972さんの方法は、非常にたすかるのですが、
印刷は、カラーでもしたいので、できれば嬉しいなぁと思いまして・・・


色々と、本当にすみません。
975名無しさん@そうだ選挙にいこう:2009/12/25(金) 04:10:35
976複乳:2009/12/25(金) 08:53:24
>>318
超遅レスだけど
オプション 表示 コメントとコメントマーク
で常時コメント表示されたわ
移動してもそのまま保存される
977名無しさん@そうだ選挙にいこう:2009/12/25(金) 19:09:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vlookup ♯N/A

特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。

 A  B   C   D
○日     ○日
0:00  1   0:00  2
0:01  1   0:05  2
0:02  1   0:10  2
0:03  1   0:15  2
0:04  1  ・
0:05  1  ・
・      ・



※B列、C列には任意の数値が入ります。

といった元データで、VLOOKUPを使ったのですが、♯N/Aエラーがでたりでなかったりします。
数値が無いもので♯N/Aエラーが出るのはわかるのですが、参照範囲中に当てはまる数値があるのに
エラーとなってしまう箇所が多々あります。
A列、C列の時刻はセルの書式設定で揃え、オートフィルで作りました。

良い対処法はないものでしょうか?
978977:2009/12/25(金) 19:13:13
えらいずれてしまったので、書き込みなおします。


【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vlookup ♯N/A

特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。

 A   B   C   D
○日    ○日
0:00  1   0:00  2
0:01   1   0:05  2
0:02   1   0:10  2
0:03   1   0:15  2
0:04  1  ・
0:05  1  ・
・      ・



※B列、C列には任意の数値が入ります。

といった元データで、VLOOKUPを使ったのですが、♯N/Aエラーがでたりでなかったりします。
数値が無いもので♯N/Aエラーが出るのはわかるのですが、参照範囲中に当てはまる数値があるのに
エラーとなってしまう箇所が多々あります。
A列、C列の時刻はセルの書式設定で揃え、オートフィルで作りました。

良い対処法はないものでしょうか?
979名無しさん@そうだ選挙にいこう:2009/12/25(金) 19:15:49
>>978
D2=VLOOKUP(C2,A:B,2,TRUE)
980977:2009/12/25(金) 19:41:43
度々修正が入ってすみません。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vlookup ♯N/A

特定の日の1分おきのデータに、同じ日の5分おきの別データを並べたいのですが、うまくいきません。

 A   B   C   D  E
○日   ○日
0:00  1 0:00  2
0:01   1 0:05  2
0:02   1 0:10  2
0:03   1 0:15  2
0:04  1 ・
0:05  1 ・
・ ・


※B列、E列には任意の数値が入ります。


C2=VLOOKUP(A2,$D$2:$E$288,2,FALSE)  で、オートフィルでやっています。後に♯N/Aを消すために、

C2=IF(ISERROR(VLOOKUP(A2,$D$2:$E$288,2,FALSE)),"",VLOOKUP(A2,$D$2:$E$288,2,FALSE)) を実行しました。
981名無しさん@そうだ選挙にいこう:2009/12/25(金) 20:44:01
C2に
=OFFSET($A$2,(ROW()-2)*5,0)
以下コピー

じゃないの・・・VLOOKUPの意味がわからん
982名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:07:09
>VLOOKUPの意味がわからん

分らなかったら、ググれ!ピボット厨
983名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:24:01
V L O O K U P 「を使う」 意 味 が わ か ら ん
984名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:36:42
>>982
規則的に並んでるんだから、いちいち検索しなくてもセル位置は計算で求められるだろ
985名無しさん@そうだ選挙にいこう:2009/12/25(金) 21:38:01
>>980
相変わらず表がずれててよくわかんない
こう?

   A   B   C    D  E
1  ○日    ○日
2  0:00  1  0:00  2
3  0:01  1  0:05  2
4  0:02  1  0:10  2
5  0:03  1  0:15  2
6  0:04  1   ・
7  0:05  1   ・
986977,980:2009/12/25(金) 22:11:24
あいかわらずずれまくりですみません。
こんどこそ。

   A   B   C    D   E
1  ○日        ○日
2  0:00  1      0:00  2
3  0:01  1      0:05  2
4  0:02  1      0:10  2
5  0:03  1      0:15  2
6  0:04  1       ・
7  0:05  1       ・

>>981
OFFSET関数でぐぐってみます

>>985
今度こそうまく表示されてるんではないでしょうか。
987 ◆Excel//q4U :2009/12/25(金) 22:17:36
A2=1/24/60/60
A3=A2+1/24/60/60
A4以下はコピぺ

C2=1/24/12
C3=C2+1/24/12
C4以下はコピペ

書式はm:ss
でどうだ?やりたいのはこういう事なの?
988 ◆Excel//q4U :2009/12/25(金) 22:21:55
ごめん。60を入れそこなった。

C2=1/24/60/12
C3=C2+1/24/60/12
C4以下はコピペ
989977,980,986:2009/12/25(金) 22:28:35
>>987
こちらの説明不足でした。

手元にあるデータは、別の場所で測定した温度のデータです。
両方0時から測定を開始し、一方は1分間隔、もう一方は5分間隔で測定しました。
A列B列が1分間隔のデータで、D列E列が5分間隔のデータです。


C2にE1のデータを、C7にE3のデータを…


という具合に整理したいと考えています。
自分の文書力と説明力のなさが辛い。
990 ◆Excel//q4U :2009/12/25(金) 22:33:24
>>989
C2に
=IF(ISERROR(VLOOKUP(A2,D:E,2,0))=TRUE,"",VLOOKUP(A2,D:E,2,0))
以下コピペすると5分、10分の箇所にはデータが入るけど?
991名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:44:14
>>989
C2に
=IF(MOD(ROW(),5)=2,OFFSET($E$2,ROW()/5,0),"")
と入れて、C2のフィルハンドルをダブルクリック
992名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:46:14
>>989
=IF(MOD(ROW(),5)=2,OFFSET($E$2,INT((ROW()-2)/5),0),"")
こういうこと?
993名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:50:16
>>991
OFFSETで行数が小数になっても出来るんだ〜、へ〜
994名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:53:46
>>989
これでいいんじゃないかな
=IF(MOD(ROW(),5)=2,OFFSET($A$1,INT((ROW()-2)/5)+1,4),"")
995名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:56:33
おまいら書き込む前にリロードしろ
996名無しさん@そうだ選挙にいこう:2009/12/25(金) 22:59:13
>>993
小数点以下は切り捨てられる。つまりINT関数を省略しても結果が同じになるれけ
997977:2009/12/25(金) 23:23:17
>>990-996
さまざまな助言をいただきありがとうございます。

恥ずかしながら、excel初心者で、
参考書片手に皆様のレスを解釈している状態でして。
自分のデータに反映させるにはどこをどういじればいいやら
頭をひねっております。

時間がかかりそうですが、がんばってみます。
998名無しさん@そうだ選挙にいこう:2009/12/25(金) 23:29:23

       フアァァァ
     ∧_∧____ ネムクナッチャッタ
    /(*´o`) ./\
  /| ̄∪∪ ̄|\/
    |   しー  |/
      ̄ ̄ ̄ ̄
999名無しさん@そうだ選挙にいこう:2009/12/25(金) 23:30:10

     ______ オヤスミナサイ,,,
    /∧ ∧/)./\
  /| ̄ ̄ ̄ ̄|\/
    |   しー  |/
      ̄ ̄ ̄ ̄

         パタン
      ____ミ
    /  /  /|
    | ̄ ̄ ̄ ̄|. |
    |   しー  |/
      ̄ ̄ ̄ ̄
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。