1 :名無しさん@そうだ選挙にいこう2011/08/09(火) 22:32:21.92
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
  まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
  ttp://www.google.co.jp/

前スレ
Excel総合相談所 97
http://hibari.2ch.net/test/read.cgi/bsoft/1304307841/
3 :名無しさん@そうだ選挙にいこう2011/08/09(火) 22:32:48.67
★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

 ★1.マルチをしてしまったら…
 A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
   それが嫌なら初めからマルチなんてしないように。>>2にマルチ禁止と書いてあり、
   マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。

 ★2.>>1★4に従わず、必要な情報を出さないと…
 A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
   VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
   適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
   これはきちんとルールに従って質問、依頼した人のみの特権です。

 ★3.情報・条件を後出しすると…
 A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
   >>1★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
   長文になってもいいので詳細かつ明確かつ具体的に書きましょう。


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
2 :名無しさん@そうだ選挙にいこう2011/08/09(火) 22:32:38.72
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
  どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
5 :名無しさん@そうだ選挙にいこう2011/08/09(火) 22:33:14.82
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2010についても未確認な項目が多いので変更点が有ればご指摘下さい。

また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007以降ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。

以上でテンプレ終わり (Excel総合相談所 94からコピペ、一部改定)。
6 :名無しさん@そうだ選挙にいこう2011/08/10(水) 14:05:44.15
ここの回答者ってほんとに頭いいですよね
8 :名無しさん@そうだ選挙にいこう2011/08/10(水) 20:52:14.25
>>6
はい。私以外は皆、頭の良い方達ばかりです。
9 :名無しさん@そうだ選挙にいこう2011/08/11(木) 10:38:07.05
excel2003に「Microsoft数式3.0」をアドオンして使っています。
数式を表示させるため、同アドオンのオブジェクトを挿入しました。
で数式を書いて表示しました。

ここまではOKなのですが、Excel上でオブジェクトのサイズを広げてしまうと、それに併せてストレッチされてしまいます。
例えば縦に伸ばすとそのまんま、縦長になります。香港映画ですよ。

縦横比が狂うと、∫が全部違った角度で寝てしまいます。

オブジェクトのサイズを広げても一定のフォントサイズで綺麗に書かれていてほしいのですが、どうすればよいのでしょうか?
(Excelワークシート上でオブジェクトをリサイズするのが御法度なの?)
10 :名無しさん@そうだ選挙にいこう2011/08/11(木) 11:10:52.03
オートシェイプのサイズを変更したくない
http://www.relief.jp/itnote/archives/000480.php
14 :名無しさん@そうだ選挙にいこう2011/08/11(木) 16:24:50.55
>>10
ありがとうございます。

どうやらオブジェクトのサイズを変更したりせず、
しかもオブジェクトをダブルクリックして編集するのではなく、
右クリックでコンテキストメニューから「開く」とやって、
専用の数式エディタを起動した後、メニューから「Excelに戻る」みたいなヤツを選んで抜けると
正しいサイズで描画してくれるようです。

ゴミか。。どうしてマイクロソフトの技術はいつもそんなんばかりなんだ
11 :名無しさん@そうだ選挙にいこう2011/08/11(木) 11:15:10.13
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 (excel 入力 ジャンプ先) (excel 入力 enter 位置)

ttp://muryoudeai.sumomo.ne.jp/up/src/up1439.jpg
上記画像のように、
Aでenterを押すとBに入力位置が常に自動で移動する方法は
ないでしょうか?
あらかじめctrlでセル選択やジャンプのダイアログではなく、入力するべき欄の
末尾でエンターを押すと、次の入力するべき欄の先頭へ常に自動で
移動するようにしたいのです。
マクロで実現しているのは見かけましたが、当方、教える相手先ともに
マクロは使えないのでできればマクロなしでお願いします。
12 :名無しさん@そうだ選挙にいこう2011/08/11(木) 14:12:56.55
>>11
簡易に [Ctrl] + 左クリックで、入力したい範囲を指定(反転)させておく
  または
様式が決まっているなら、入力範囲のロックを外してして、シート保護をかける。
13 :名無しさん@そうだ選挙にいこう2011/08/11(木) 15:30:26.62
>>12
ありがとうございます

>入力範囲のロックを外してして、シート保護をかける。
これでTABキーで入力したい位置にだけ移動は
できるようですが、
入力欄末尾でenterを押すと次の入力欄の先頭に行く
という風にする方法はないのでしょうか?
15 :名無しさん@そうだ選挙にいこう2011/08/11(木) 16:59:56.14
Aファイルのシート1のセルデータを
Bファイルのシート1の元からあるセルデータの末端から
結合して貼り付けるには、どのようなVBAのコードをかけばよいでしょうか?
データはstring型です。

2003です。
16 :複乳2011/08/11(木) 18:04:04.88
>>15
開始も終了もよく分からないし、最初から末端かけてどういう順序かもわからない
まー大体は
dim 文字列 as string
最後 = ctrl+↑
for 1= to 最後
文字列 = 文字列 & cells(i,1).value
みたいな感じ
17 :名無しさん@そうだ選挙にいこう2011/08/11(木) 18:14:26.62
>>16
あ、そんな感じでおkです。
セルへの文字列結合の数式が分からなかったので・・・
&でいいのですねー ありがとうございます
18 :名無しさん@そうだ選挙にいこう2011/08/11(木) 20:47:15.23
僕の家のPCに入っているのはoffice2003なのですが
友だちが使っている2010を使いたいです

友だちのoffice2010のデータをコピーなどで入れることはできないでしょうか?
19 :名無しさん@そうだ選挙にいこう2011/08/11(木) 21:04:22.90
>>18
無理です。買ってね(`・ω・´)
21 :名無しさん@そうだ選挙にいこう2011/08/11(木) 21:53:00.61
>>19
そうですか
ありがとうございました
22 :名無しさん@そうだ選挙にいこう2011/08/11(木) 21:57:23.01
>>18
大学生だったら自分の通っている大学がMSキャンパスアグリーメント
という包括契約をMSと結んでいるかどうか調べるといいよ。そこの
大学生ならOfficeは無償で出来るはず。
20 :名無しさん@そうだ選挙にいこう2011/08/11(木) 21:40:12.30
A列に上から「田中・田中・鈴木・鈴木・伊藤・伊藤」と並んでいるとします。
このA列を利用して、別のセルに「田中・鈴木・伊藤」と3つのプルダウンメニューから選べる方法はありますか?

名前はよく追加されるので(佐藤が追加される。伊藤がなくなるなど)
リストを作らずにA列参照にて出来る方法があればと思っています。

EXCEL2003です。
23 :名無しさん@そうだ選挙にいこう2011/08/11(木) 22:08:38.81
>>20
作業列を使うなら、
どっかの列(この場合B列)に、
=INDEX(A:A,SMALL(IF(MATCH($A$1:$A$20&"",$A$1:$A$20&"",0)=ROW($A$1:$A$20),ROW($A$1:$A$20),10^3),ROW(A1)))&""
と入力して、式を編集状態の時に、CTRL+SHIFT+ENTERで確定させる
(式の前後に { } がつく)
適当に下までずるずるっとコピー

リストは
=OFFSET(B1,0,0,COUNTIF(B:B,"?*"))
こんな感じで指定
25 :名無しさん@そうだ選挙にいこう2011/08/11(木) 23:29:21.65
Excel2007から様々な仕様が変更されたのはわかっていましたが,
2007と2010の違いに悩まされています。
関数が少し増えたのと,UIが多少変わったぐらいと考えていたのですが・・・

2010で作った条件書式を使ったファイルを2007で開くと,意図したようになりません。
2010と2007の挙動の違いについて,まとめてあるサイトなど教えていただけないでしょうか?
26 :名無しさん@そうだ選挙にいこう2011/08/11(木) 23:36:50.09
27 :名無しさん@そうだ選挙にいこう2011/08/12(金) 15:12:12.38
EXCEL2010でガントチャートをシェイプで作成したけど、そのシートをコピーしたらシェイプが全くコピーされない謎現象が発生しました。
こんな現象聞いたことありますか?
29 :名無しさん@そうだ選挙にいこう2011/08/12(金) 21:59:22.33
rank関数で出した順位を☆で表示させたいと思い
countif関数で出来そうと試したのけれど失敗しました
分かる方お願いします

178pt 1位 ☆☆☆☆☆
163pt 2位 ☆☆☆☆
145pt 3位 ☆☆☆
120pt 4位 ☆☆
107pt 5位 ☆

こういう感じです。ソフトはExcel2007です。
お願いします。
30 :名無しさん@そうだ選挙にいこう2011/08/12(金) 22:03:36.06
>>29
よく分からないのですが、1位は必ず☆が5個とか決まってるの?
であれば、b1に1と入っているとすると
=REPT("☆",6-B1)

だけど、たぶん違うんだろうなあ
31 :名無しさん@そうだ選挙にいこう2011/08/12(金) 22:11:38.58
>>30
素早い返信に感謝です。
教えて頂いたREPT関数で思い描いていたことが出来そうです。

上記に出した参考例では5人の中でという前提なので☆5個表示でよかったです。
実際は仲間内6人でポイントを競うゲームをしているので1位は☆6個表示になりますが(笑

まだまだ勉強が足りませんでした。ありがとうございました。
32 :名無しさん@そうだ選挙にいこう2011/08/13(土) 00:33:39.44
>>29
対象数が可変する場合の式
=IF(B1="","",REPT("☆",SUM(COUNTA(B:B)+1)-LEFT(B1,LEN(B1)-1)))

※ >>30さんの式を参考にさせていただきました。
33 :292011/08/13(土) 19:43:16.49
>>32
帰省中で今すぐには確認できないのですが
後学のため提示頂いた方法は試してみます
ありがとうございました
34 :名無しさん@そうだ選挙にいこう2011/08/13(土) 21:17:57.91
一日一回計測した数値データが数年分あり、これを折れ線グラフにしたいと
思っています。ただし計測をしていなかった日が不定期にあるので、そのまま
折れ線グラフにしてしまうとグラフの傾斜の意味が時期によって異なってしま
います。

これを週平均データとすることで傾斜の意味は一定になると思うのですが(平均
算出のためのケース数が異なることには目を瞑るとして)どのようにすれば効率
的に日データを週平均データとすることが出来るのでしょうか?

ExcelはMac, Winの2004以降の各版があります。
よろしくお願いします。
37 :名無しさん@そうだ選挙にいこう2011/08/14(日) 17:30:39.14
>>34
考えた方法でもいいでしょうけど、
折れ線じゃなくて、散布図で観測された点をつなぐんじゃだめなの?
38 :342011/08/14(日) 18:02:20.68
>>37
ご教示ありがとうございます。散布図試してみました。これだと横軸=日付の時、観測実施日の
疎密に横軸の間隔が影響されないのですね。勉強になりました。


35 :名無しさん@そうだ選挙にいこう2011/08/13(土) 21:41:24.97
>34
日付データから 年 と その日がその年の第何週目にあたるか を作業列に出して、
ピボットテーブルで週毎の平均だしたらどうですか?
日付データがA列、数値データがB列にあるとして、作業列に=Year(A1)*100+Weeknum(A1)で
6桁の数字が出ます。
36 :名無しさん@そうだ選挙にいこう2011/08/13(土) 22:34:28.24
>>35
早速のご教示ありがとうございます。恥ずかしながらWeeknum関数という便利なものが
あるのを知りませんでした。昔の版でも分析ツールを入れることで動作いたしました。
39 :名無しさん@そうだ選挙にいこう2011/08/14(日) 19:56:32.11
XP、Excel2003使用。
一つのセル内に時間(hh/mm/ss,0)を表す数値が入っていたとします。
00 01 20 160

これを

00:01:20,160

こんなふうにして数字の空白に記号を追加することは可能ですか?
セルの書式設定をしようにもイマイチうまくいきませんでした。
どなたかお知恵を…。
40 :名無しさん@そうだ選挙にいこう2011/08/14(日) 20:28:46.53
>>39
エディタと併用した方が簡単かと思います。
問題となっている列だけを例えば秀丸に書き出します。

置換で正規表現をチェックし次のようにします。spaceは実際にスペースをうちます。

検索:^(..)space(..)space(..)space(...)
置換:¥1:¥2:¥3,¥4

うまく置き換わったら、これをエクセルに読み戻せばいいはずです。
42 :名無しさん@そうだ選挙にいこう2011/08/14(日) 20:59:43.64
>>39
2桁(スペース)2桁(スペース)2桁(スペース)3桁

↑絶対にこのリズムが守られているんであれば、一旦数値を4つのセルに分解して、
記号を追加した上で一つのセルに集合させることもできるけど…
44 :名無しさん@そうだ選挙にいこう2011/08/14(日) 21:40:55.02
>>39
【A】 時、分、秒、ミリ秒をそれぞれ切り出して、シリアル値に変換する方法
=TIME(LEFT(A1,2),MID(A1,4,2),MID(A1,7,2))+(RIGHT(A1,3)/24/60/60/1000)

 (TIME関数の第三引数に小数を渡してもミリ秒として扱われないので、ミリ秒は算術演算でシリアル値化する)


【B】 「時:分:秒.ミリ秒」形式の文字列を作って、シリアル値に変換する方法
=TIMEVALUE(SUBSTITUTE(LEFT(A1,8)," ",":")&"."&RIGHT(A1,3))

 (シリアル値への変換は、*1などの無意味な算術演算をする方法もあるが、可読性が落ちるのでTIMEVALUE使った方が良い)


「0 1 20 60」を「00:01:20.060」にしたいとかなら、正規表現でも一発では対応出来ない(ミリ秒部が0.060秒ではなく0.600秒扱いになる)ので
正規表現2段重ねかVBAってことになるが、わざわざ「00」「01」と表記してるってことは、各位の桁数というか文字数は揃ってるのだろうから
それならわざわざ外部エディタで正規表現使うまでもない

因みにミリ秒の区切り文字は「,」ではなく「.」が正解ね
文字列として表示だけ整えば良いなら「,」で表示することも可能だが、日時データとしたいなら「.」を使うこと
45 :432011/08/14(日) 21:58:21.37
>>44が最も合理的な回答で自分の書き込みが恥ずかしい・・
43 :名無しさん@そうだ選挙にいこう2011/08/14(日) 21:15:14.68
"160"の手前の文字がコンマじゃなくて小数点なら時間として認識したんだけど↓
A1セル 00 01 20 160
A2セル =MID(A1,1,8)&"."&MID(A1,10,3)
A3セル =SUBSTITUTE(A2," ",":")*1
48 :名無しさん@そうだ選挙にいこう2011/08/15(月) 13:42:10.01
>>39です。
>>44が最も合理的とのことですが、浅学のためシリアル値という単語も
timevalueという関数も初めてだったので、自分の頭では
>>43のやり方のほうが理解しやすかったようです。
いずれにせよ、皆さま教えて下さってありがとうございました。
ここには天才がたくさんいらっしゃるんですね…。

もう一つだけ、あとでまた質問するかもしれません。
46 :名無しさん@そうだ選挙にいこう2011/08/15(月) 12:58:14.27
文字列0のセルを、空白と認識させる方法はありますか?


47 :名無しさん@そうだ選挙にいこう2011/08/15(月) 13:01:11.28
>>46
ケースによる。
49 :46です2011/08/15(月) 17:42:57.82
>>47

データの入力規則→入力値の種類→リスト
(空白を無視する、ドロップダウンリストから選択))
としていて、元の値にif関数で作った””(文字列ゼロの空白)があって
それが空白として無視されないのですが
50 :複乳2011/08/15(月) 17:47:09.32
>>49
エクセルの仕様です
""は、文字列0のセルではない別の何かと認識されます
>>49さんの場合、文字列0は恐らく未使用セルと置き換えたほうが良いでしょぅ

その条件でリストを作るなら作業列に、空きセルのない自作リストを作ると良いと思います
もしくはvba
51 :46です2011/08/15(月) 17:59:05.49
>>50
迅速な回答ありがとうございます!!
やっぱり仕様ですか・・・

""を未使用セルに置き換えたんですが
そしたら空白じゃなくて「0」になってしまいます・・・
52 :複乳2011/08/15(月) 18:17:52.44
>>51
エクセルの仕様です。
未使用セルは文字列0、数値も0という前提で計算やら何やらされます(エラー値は別です)
式も入ってない未使用セルならisblankでTRUEが帰りますが・・・

式が入ってるセルに、isblankは通用しません

仮にそのifの式の戻り値を"hoge"として、
=COUNTIF(A:A,"hoge")
とかするしかないですねー
53 :46です2011/08/15(月) 21:21:56.87
>>52
結局自作リストにしました
お世話になりました
55 :名無しさん@そうだ選挙にいこう2011/08/15(月) 22:45:07.97
因みに
> ""は、文字列0のセルではない別の何かと認識されます
は間違い
""は文字列(長)0のセルと認識される
ただ、文字列(長)0のセルは、Blankと認識されないだけ

VBAで言うと、Emptyは数値にすれば0で、文字列にすれば""で、論理値にすれがFalseだが
0も""もFalseもEmptyそのものではなく、EmptyでなければBlankではないってことだ

ということで
> 未使用セルは文字列0、数値も0
も間違い

未使用セルはEmptyで、Emptyを文字列にすると文字列長0の値になり、数値にすると0という値になるだけで
未使用セルが文字列長0の値や、0という数値を最初から持っているわけではない
56 :名無しさん@そうだ選挙にいこう2011/08/16(火) 02:53:14.91
【1 OSの種類         .】 Windows7 pro 64bit
【2 Excelのバージョン   】 Excel07
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】「VBA セル 入力」など

VBAを使用して、特定のセルに関数を入力したいです。
その際、引数の一部に、VBAで取得した変数を利用したく、

Sub tes()
Dim a As String
Dim b As String
a = InputBox("url")
b = "http://www." & a & ".co.jp"
Cells(1, 1) = "=hyperlink(" & b & ")"
End Sub

のようなコードを組んだのですが、実行時エラー1004のエラーが出ます。
エラー名でググっても解決方法が出ないのでお手上げ状態なのですが、
引数に変数を利用した関数を入れることはできないのでしょうか?
57 :名無しさん@そうだ選挙にいこう2011/08/16(火) 03:16:53.66
>>56
Excel07 で動くかどうかはしらんよ(笑)

Cells(1, 1).Formula = "=hyperlink(""" & b & """)"
58 :名無しさん@そうだ選挙にいこう2011/08/16(火) 12:55:56.75
>>57
できました。ありがとうございます。

office tanakaのダブルコーテーションのtips読んでもあまり理解できないのですが、
両端の"で文字列と認識させて、中の"""ではさむと、エスケープできるってことで良いのでしょうか?
60 :名無しさん@そうだ選挙にいこう2011/08/16(火) 13:55:28.02
>>58
ちょっと違うような
 >両端の " で文字列と認識させて、中の"""ではさむと、エスケープできる
ぢゃなくて
 >両端の " で文字列と認識させて、中の"" が 文字 " として認識される
だよ
文字列記述  "=hyperlink(""" は
文字列として =hyperlink(" を表している
59 :名無しさん@そうだ選挙にいこう2011/08/16(火) 13:26:38.10
【1】Windows7
【2】Excel2007
【4】VBA不可

PHONETIC関数で表示される ふりがな をまとめて編集したい

A列:漢字の名前データ
B列:ひらがなの名前データ

データは多数あり、A列とB列の対応は取れています。
B列のデータをA列の名前の「ふりがなデータ」として一気に流し込むようなことは可能でしょうか?

やはり全部手打ちで入れるか、「ふりがなの表示」から編集するしかないでしょうか?
61 :名無しさん@そうだ選挙にいこう2011/08/16(火) 14:25:32.43
>>59
VBA使えばどうにでもなるけど、VBA無しだと最後の1行のようにやるしかない
62 :名無しさん@そうだ選挙にいこう2011/08/16(火) 20:53:35.90
>>61
質問者じゃないんですが、VBAだとどうなるのか教えてください。
63 :名無しさん@そうだ選挙にいこう2011/08/16(火) 21:12:38.08
>>61 どうも。りょうかいです
64 :複乳2011/08/17(水) 00:06:44.58
65 :622011/08/17(水) 01:00:17.45
>>64
ありがとうございます。このサイト知りませんでした。
66 :名無しさん@そうだ選挙にいこう2011/08/17(水) 19:47:50.87
質問です
G5セルが○の時A5~G5セルに色をつける、というのを条件付書式でやったのですが、
これをA500~G500セルまでする方法はありますか?
そのまま下げてくとA5~G5の文章が下がっちゃって;;
67 : 忍法帖【Lv=29,xxxPT】 【中部電 79.0 %】 2011/08/17(水) 20:21:48.79
>>66
A5:G5を選択したらG5セル右下の罫線位置にある黒十字をクリックしながらG500セルまで下げるとか。
68 :名無しさん@そうだ選挙にいこう2011/08/17(水) 20:37:59.30
それだと入力してある文字が下がっちゃって・・・
70 : 忍法帖【Lv=29,xxxPT】 【中部電 79.0 %】 2011/08/17(水) 20:46:03.94
>>68
じゃあ、先に入力されている文字をどこかに避難(コピペorカット&ペースト)しておけばいいんじゃないかな?
72 :名無しさん@そうだ選挙にいこう2011/08/17(水) 21:07:24.29
>>70
出来ました!ありがとうございます
69 :名無しさん@そうだ選挙にいこう2011/08/17(水) 20:41:25.41
XP 2003
横棒グラフについて

牛丼  12
天丼.   7
親子丼. 6
中華丼. 2
その他. 4

上記のような表があったとして、これで横棒グラフを作った場合、
どうしても「その他」が一番上に来る仕上がりになってしまいます。
しかも他のグラフと違って順番の入れ替えができず…

表とグラフを一緒に印刷したいので、縦の並び順が同じになるのが希望です。
今はグラフ用に順番を逆にした表を用意して、その表は非表示にした上で印刷しています。
毎回のことで面倒なので、一つの表で表と同じ並び順の横棒グラフを作成する方法が
ありましたら是非アドバイスをお願いします。
71 :名無しさん@そうだ選挙にいこう2011/08/17(水) 20:48:30.37
74 :692011/08/17(水) 23:51:18.27
>>71
うおおおお!出来た、すげええええ!
ありがとう!
75 :名無しさん@そうだ選挙にいこう2011/08/18(木) 11:05:51.42
>>71の解説作ってる奴も、表題と冒頭の解説見る限り同じような勘違いをしてるけど、
縦棒グラフの縦軸だと、縦軸のデータを下から積み上げるのが正順で、上から吊り下がるのが反転状態だと見るのに
横棒グラフの縦軸だと、縦軸のデータを下から積み上げるのが逆順だと勘違いする奴がたまにいるんだよな

>>69のデータに対して

その他. |]]]]
中華丼. |]]
親子丼. |]]]]]]
天丼.   |]]]]]]]
牛丼.   |]]]]]]]]]]]]

というグラフは、間違いなく「表と同じ並び順」であって、間違っても逆順じゃない

小学校で習うが、棒グラフの基点は縦横基準軸の交差するところで、標準的には左下になるから
その基点から1番目に1件目のデータ、2番目に2件目のデータと「表と同じ並び順」に並べれば、
上記のグラフのようになる

Excelで横棒グラフの基点を左下ではなく左上にしたいと言うならまだしも
縦軸の並びが逆になるからデータと同じ順に直したいとか言い出す奴が出る度に、
「こいつは算数レベルの理解すら出来てないんだなぁ」と思わずにはいられない
76 :名無しさん@そうだ選挙にいこう2011/08/18(木) 11:23:29.56
ある列全体のセル要素に、シングルコーテーションで囲うのを一気にやりたいのですが、
何か機能的なもので簡単にできますか?
77 :名無しさん@そうだ選挙にいこう2011/08/18(木) 11:30:56.57
=CONCATENATE("'",a1,"'")
78 :名無しさん@そうだ選挙にいこう2011/08/18(木) 11:38:52.76
>>77
サンクス!
80 :名無しさん@そうだ選挙にいこう2011/08/18(木) 18:46:14.78
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 2010 オブジェクトの位置またはサイズが変更されます

元はexcel2003で作成したブックを2010で使用していたところ、
セルを選択したり、スクロールしたとたんに「オブジェクトの位置またはサイズが変更されます」というダイアログが延々と出続けます。
シート上にはオブジェクトはありません。
OKしか押せない上、×で閉じてもいつまでも出てきます。
どうしようもなく強制終了しています、対策はないのでしょうか。
85 :複乳2011/08/18(木) 19:55:00.98
>>80
コメントを削除するか、オートフィルタを外すか

2010で新しいブックを作って、全シートをコピーするとか
それで無理なら一個ずつコピーするか

イマイチ解決方法が見当たらないね
96 :名無しさん@そうだ選挙にいこう2011/08/19(金) 17:58:49.47
>>85
ありがとうです
やはりいい解決法は無いみたいですね。

バグっぽい意見もあったようなので、修正アップデートまちます。
81 :名無しさん@そうだ選挙にいこう2011/08/18(木) 19:16:02.78
Excelの使い方を説明する書類を作りたいのですが、参考書にあるようなワークシートやツールバー等のExcelの画面は、どうすればwordに使用できますか?

最近一般の方のHPでも、初心者向けにわかりやすくツール→データを開いた項目が掲載されていますよね。文章のみの説明より実際の画像があればわかりやすくなるので、どなたかアドバイスお願いします。
83 :名無しさん@そうだ選挙にいこう2011/08/18(木) 19:36:53.66
>>81
PrintScreen
84 :名無しさん@そうだ選挙にいこう2011/08/18(木) 19:37:46.50
>>81
それはwordスレで聞いたほうがいいんじゃないかい。
103 :名無しさん@そうだ選挙にいこう2011/08/19(金) 23:30:16.40
>>89
ありがとうございます。>>83さんのコメントを見た後にスレチに気づきました。親切に教えてくださったので頑張ります!
82 :名無しさん@そうだ選挙にいこう2011/08/18(木) 19:16:36.80
2つファイルを開かせて、前者のデータを後者のデータにデータを流し込む
作業をしたいのですが、マクロでどのように作ればよいでしょうか?
問題点は、ファイルによって読みだし箇所、書き出し箇所が違います。(読み込み開始の行・列・シート)

[1] 読み出し用ファイルの見出し開始列をユーザが選ぶ。(見出しのある所が1行目と限らないので)
[2]選んだ、もしくは入力した列から最大列を読み込む。
例:見出し開始は、A3だとする。 そこからA3「氏名」 B3「電話番号」 C3「クラス」のように見出しをプログラムがかき集める
[3]それぞれの見出しの内容を、2つめのファイルのどこに書きだすか聞く
  例:1つめのファイルの「氏名」は2つめのファイルのどのシートのどこに書き出しますか?→入力例:シート名を選んだあと「A1」
    上の処理が終わったら、「電話番号」はどのシートのどこに書き出しますか?→シート名を選んだあと「A1」 (ファイルの選択は1度やっているので再度は聴かない)
[4]見出しから一行下にデータが続くのは共通なので、そこから最下部までのデータを流しこんでいく

エクセルは2003です。
ちょっと上の方法しか思いつかないので、他に良い方法があればよいのですが・・・。
86 :名無しさん@そうだ選挙にいこう2011/08/18(木) 21:25:50.84
質問です
Aの1〜30までに空白or文字が入ってます
文字の入っているセルの合計をA31に出すにはどのような方法が簡単でしょうか?
87 :名無しさん@そうだ選挙にいこう2011/08/18(木) 21:28:33.70
>>86
=COUNTA(A1:A30)
88 :名無しさん@そうだ選挙にいこう2011/08/18(木) 21:31:36.68
>>87
それでよかったんですね、ありがとうございます
89 :名無しさん@そうだ選挙にいこう2011/08/18(木) 22:59:32.96
>81
>83さんのPrintScreenで画面イメージを一時的にコピーしたあと
ペイントに貼り付けて、不要な部分を消したり説明書に必要な範囲を選択して
Wordに貼り付けです。
ただし、マウスカーソル(エクセルだと白くて太い十字、黒くて細い十字、メニュー
から選択してるときの矢印など)は、PrintScreenでは取得できないので、自分で
工夫してください。これ以上のことはWord相談スレにてどうぞ。
90 :名無しさん@そうだ選挙にいこう2011/08/18(木) 23:11:48.97
>82
Q1 列の見出しの文字列は毎回決まっているんですか?
   例:氏名、電話番号、クラス・・・というキーワードは毎回固定?

Q2 入力側のブック・シートと出力側のブック・シートとで、見出しの文字列は完全に同一ですか?
   例:入力側は 氏名 になってるけど、出力側は 名前 なんてことはない?
91 :名無しさん@そうだ選挙にいこう2011/08/19(金) 07:22:26.34
>>90
レスありがとうございます。たいへん悩んでいるところです・・・

Q1・・・厳密には、いろんなフォーマットから集計を取る作業と、
集計を取ったDBから、様々なフォーマットへ登録する作業があるのです。
基幹となる統一のDBの見出し文字列は、常に同じです。

(例)集計: [A社フォーマット内容]→[社内DB] 登録:[社内DB]→[B社フォーマット]

各社フォーマットは見出しの位置が違うため、どのフォーマットで合っても
どこに見出しがあるか一旦読みだしてから(ユーザに聞いてから)の形式がよいかなーと・・・

Q2・・・上記のことがあるので、一致していません。例を書いていただいたような状態がよくあります^^;
  そのため、エクスポート時にどの列・行に書きだすか、いちいち聞かないといけないのかなと思います。
(ただし、各社フォーマットも毎度仕様が変わるわけではないので、何らかの方法で出力先ポジションを保存できればよいですが・・・)
92 :名無しさん@そうだ選挙にいこう2011/08/19(金) 09:41:31.05
>>91
日本語(自然言語)がまともに出来ない奴に
VBA(プログラム言語)は無理だぞ

まずは、自然言語で理路整然とした文章を書けるようになろう
93 :名無しさん@そうだ選挙にいこう2011/08/19(金) 14:57:37.89
>>92
すんません・・・
フォーマットが違う物同士を、指定した箇所(行・列)にエクスポートできるようなものがほしいのですが・・・
94 :名無しさん@そうだ選挙にいこう2011/08/19(金) 15:19:13.73
>>93
データの要素は氏名、電話番号、クラスの3つでいいの?
95 :名無しさん@そうだ選挙にいこう2011/08/19(金) 15:48:11.18
>>94
収集用のデータ要素は、かなりあります。
新しいものを扱うタイミングで、要素が追加になることもあります。
ついでに、エクスポート先のフォーマット次第では、
要素の一部を別のシートへ入れ込んだりもします。

両者一覧化した状態で、ユーザに紐付けさせてからインポート・エクスポートを動的に行う必要があるのでは・・・と思っています。
97 :902011/08/19(金) 18:37:46.47
>82,95
入力側と出力側で「項目見出しの文字列」が一致しない場合があるのであれば、
別のシートで対応付けさせる必要がありますね。
>エクスポート先のフォーマット次第では、 要素の一部を別のシートへ入れ込んだりもします
ここまでくると具体例を(データは架空のものとして)画面イメージをどこかのアプロダに示して
もらわないと無理なんじゃないかなあ。

念のため確認しますが、入力側の項目見出しと出力側のそれは、1対多ですか?それとも
多対多ですか?

1対多 とは:入力側は 氏名、電話番号、クラス・・・であるが、出力側は
         「氏名」に対応する部分が氏名、名前、氏名(漢字)・・・
         「電話番号」に対応する部分が電話番号、TEL、Tel・・・

多対多 とは:入力側も「氏名」だったり「名前」だったりバラバラ
          
98 :名無しさん@そうだ選挙にいこう2011/08/19(金) 19:20:54.23
>>97
うまく説明できずにすいません・・・

■統一用 
※こちらは、項目は変更ありません。

[A1:氏名][B1:電話番号][C1:クラス][D1:出席番号]・・・

■色んなフォーマットDB
※フォーマットの一例

[A3:名前][B3:組名][C3:TEL][D3:成績]

この場合、成績の列は統一用の要素に必要ないので、A3〜C3を、それぞれインポートしたいです。
例 他[A3:名前]→統[B3:組名]

色んなフォーマット側から統一用へ流すときもあります。(過去入力分の集計のため。)
なので、汎用的にデータを相互移動できる仕組みに捉えたほうがいいかもしれません。
(色んなフォーマットには、シートが2あったりするときもあります。)
フォーマットによって見出しの開始位置も違いますので、そのせいで一回見出しをユーザに選んでもらおうかと・・・
99 :90,972011/08/19(金) 19:34:56.37
>82,95 いくつか質問です。
集計: [A社フォーマット内容]→[社内DB] の部分と
登録:[社内DB]→[B社フォーマット] の部分のそれぞれの処理が必要、ということですか?

それと、[社内DB]における項目数(列の数)は実際にどれだけありますか?
また、集計の方の入力側のフォーマットは何パターンぐらいありますか? 実際にデータがきてからでないとわかりませんか?
同じように、登録の方の出力側のフォーマットは何パターンぐらいありますか? 実際にデータをつくるときでないとわかりませんか?

>82の[3]を見て疑問に思ったのは、出力側シートにはあらかじめ項目見出しがなく、操作する人が
「この項目は○列」って個別に指定しなきゃならないんですか?(出力シートの1行目からデータだけ?)
100 :名無しさん@そうだ選挙にいこう2011/08/19(金) 19:51:37.04
>>99
>それぞれの処理が必要、ということですか?

必要になってしまいます。
集計とレポートを行うため、といえば通じるでしょうか…?

社内DB(統一DB)の列数は、65あります。

登録のフォーマット側は10パターンほどありますが、まれに仕様変更があります。

82の[3]の部分は大変紛らわしくてすいません。
出力先は必ず見出しはあります。ただ、出力元の要素ごとに書き出し先が順に流し込まれるわけではないので、
出力元の要素(例:氏名)を出力先のどの要素に出力しますか?のようなアナウンスを入れたらよいかなと・・・。(例:名前)
101 :名無しさん@そうだ選挙にいこう2011/08/19(金) 20:06:01.48
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 条件付き書式 削除

ファイルが重いので、条件付き書式によるセル色の変更を維持しつつ条件付き書式を削除できませんか。
数式はコピーして[値]で貼り付けをすることで、結果だけにできたので、書式も同じようにして軽量化したい。
102 :名無しさん@そうだ選挙にいこう2011/08/19(金) 20:16:45.87
>>101
今メモリー価格安いらしいからメモリー増設したら?
104 :名無しさん@そうだ選挙にいこう2011/08/20(土) 00:41:45.19
>>101
今VBA組めないので考え方だけだけど
条件にあてはまるセルを塗るというプログラムを組んで走らせて、
後でも先でもいいから条件付き書式を削除すればいいだけの話だよね
105 :名無しさん@そうだ選挙にいこう2011/08/20(土) 14:07:09.79
WindowsXP
Excel2007
VBA/はい(少し) /可
「EXCEL 検索 個数 含む」や「COUNTIF」

A B C
1あ 1 あいううう
2い 6 いいいいい
3う 3 かかかかか

上記A列に書いてある文字列が、ある範囲内(C1:C3)に何個あるか検索します。
その結果(個数)をB1、B2、B3…とそれぞれの隣の列に表示していきます。

B1に数式を入れ込み、あとはオートフィルタで結果を簡単に出したいです。
どうぞ、よろしくお願い致します。


=COUNTIF(C1:C3,"*"&A1&"*")
とした所、セルの個数はでてきたのですが、文字の個数が出てきませんでした。
108 :名無しさん@そうだ選挙にいこう2011/08/20(土) 16:40:55.61
>>105
回りくどかったらゴメン。
とりあえずこれで希望する結果は出るけど、VBA書き慣れてる人の手直しキボンヌ


Sub A列と同じ文字数をカウント()

Dim 算出する最後の行 As Integer
Dim C列の文字数 As Integer
Dim A列と同じ文字数 As Integer
Dim i As Integer
Dim j As Integer

算出する最後の行 = Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To 算出する最後の行
Range("B" & i).Select
C列の文字数 = Len(Range("C" & i))
A列と同じ文字数 = 0

For j = 1 To C列の文字数
If Mid(Range("C" & i), j, 1) = Range("A" & i) Then A列と同じ文字数 = A列と同じ文字数 + 1
Next j

Selection.Value = A列と同じ文字数
Next i

End Sub
114 :名無しさん@そうだ選挙にいこう2011/08/20(土) 17:38:21.88
>>105
=LEN(C1)-LEN(SUBSTITUTE(C1,A1,""))
118 :1052011/08/20(土) 19:26:44.90
>>108,>>114
回答ありがとうございました。
頂いたデータを参考に試してみます!
106 :90,992011/08/20(土) 14:09:28.82
>82,100
処理を実行するときに、「この項目はこの列、この項目はこの列・・・」と指定していくなんてこと、
項目数が数個ならともかく、65個もあるのにいちいち指定するのは間違いのもとでしょう。
フォーマットの種類が10パターン程度ということであれば、設定用のシートに統一DBと各社
独自フォーマットの対応一覧を作っておいて、どのフォーマットで入・出力するのかを操作員に
選ばせるのが無難。
対応一覧に載せるのは「列名」ではなく「項目名」の対応とすれば、実際の列が変わっても
柔軟に対応できると思う。対応表をボチボチ作っているので、できたらどこかにUpします。
116 :名無しさん@そうだ選挙にいこう2011/08/20(土) 18:28:06.31
>>106
おお・・・すいません・・・
107 :名無しさん@そうだ選挙にいこう2011/08/20(土) 15:35:04.52
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】計算 範囲 

6500という数字があります
1-3000は*5、3001-5000は*3、5001-は*1という計算をして、
それぞれの答えを出したいのです。
   A    B   C   D
1  6,500
2     1-3,000   5  15,000
3   3,001-5,000   3  6,000
4   5,001-     1  1,500
5         合計  22,500
としたいです。
合計はSUMで出せばいいですが、その上の小計をどういう式で書けばいいのか迷っています。
いつも範囲の境目が3000、5000ならいいのですが、その都度変わります。
変更がある点は3点です。
「6500」「範囲の境目(今回なら3000と5000)」「掛ける数字(5、3、1)」です。
範囲の境目については、無い場合もあります。これがややネック。

自分なりに考えた結果、IF関数を使った式を使いました。
D2「=IF(A1>=B2,B2*C2,A1*C2)」
D3「=IF(A1>=B3,(A1-B2)*C3,(B3-B2)*C3)」
D4「=IF(A1>B3,(A1-B3)*C4,0)」
D5「SUM(D2:D4)」
以上です。
ただ、これだと問題点が2点ありまして…。
1、範囲がなくなったときに数式が出せない。
2、A1がB2以下だと、D3がマイナスで計上されてしまう。
助けて下さい。頭こんがらがりました。
109 :名無しさん@そうだ選挙にいこう2011/08/20(土) 16:42:05.51
>107
A2には0、B2には3000、A3には式=B2、B3には5000、A4には式=B3、B4には99999999とし、
D2セルに  =IF($A$1>=B2,(B2-A2)*C2,(($A$1-A2)*C2)*($A$1>A2))  って入れて、
下にドラッグしてみてください。

範囲の境目がないときは、B2、B3に 99999999 といれたらいいです。
99999999 の部分は、A1に入力する数よりも十分大きな数ならなんでもいいです。
112 :名無しさん@そうだ選挙にいこう2011/08/20(土) 17:25:17.00
>>109
できました!ありがとうございました!!

ちょっといじって、
A2に1、A3には式=B2+1、A4には式=B3+1、B4には999999とし、
D2には  =IF($A$1>=B2,(B2-A2+1)*C2,(($A$1-A2+1)*C2)*($A$1>A2))
にしてみました。
999999の表示も、ユーザー定義で「;;;」にして隠してみました。

本当に助かりました。ありがとうございました!
110 :1092011/08/20(土) 17:00:16.18
>107
解説というほどのことではありませんが
>2、A1がB2以下だと、D3がマイナスで計上されてしまう
の問題は  (($A$1-A2)*C2)*($A$1>A2)  の部分で解決してます。

掛け算の右側は条件式で、成立しなければ 0 とみなされるので、
($A$1-A2)*C2) がマイナスになる場合は ($A$1>A2) が 0 になります。
111 :名無しさん@そうだ選挙にいこう2011/08/20(土) 17:23:32.51
PERSONAL.XLSは編集のためロックされています。
使用者は '水嶋夏月' です。
[読み取り専用]で開くか、または、読み取り専用で開き、ほかの人がファイル
の使用を終了したときに通知を受け取るには、[通知]をクリックします。

Excel2003を機動させると、↑のメッセージが出るので、出ないように
するにはどうすればいいですか?
ググってみたら、XLSTARTフォルダ内にあるPERSONAL.XLSを
削除すればいいとかありましたが、もうね(ry
113 :1092011/08/20(土) 17:32:21.70
>112 結果が変になりませんか?
A1セルに 3001 って入れたとき、D2セルに 3 って表示されないと思うけど。
115 :1092011/08/20(土) 17:39:38.17
>112
(($A$1-A2+1)*C2)*($A$1>=A2)
掛け算の右側の条件式に = が必要です。
この場合でも、A1セルに小数点が含まれる場合はへんなことになります。
A1セルに 3000.5 とか 5000.5 など入れてみるとわかります。
117 :名無しさん@そうだ選挙にいこう2011/08/20(土) 19:11:08.30
>>113
あ、本当ですね。>>115の=を入れたら直りました。
お伝え忘れていましたが、A1には整数しか入らないので、大丈夫です。
ご心配ありがとうございました!
119 :1142011/08/20(土) 19:50:33.41
間違って理解してました。

とりあえず三つのセルだけのようですので下記の式でB列に入れてみてください。

=LEN(C$1&C$2&C$3)-LEN(SUBSTITUTE(C$1&C$2&C$3,A1,""))
120 :名無しさん@そうだ選挙にいこう2011/08/21(日) 11:59:51.27
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 チェックボックス 関数 (-コントロール)

チェックボックスのレ点の数を数えたいのですが、すでにレ点があるボックスとないボックスがあり
「コントロール書式設定からTRUEを表示させる」→「設定したものをコピー」が使えない状況です。

関数でカウントしたり、レ点の有無を維持したまま設定をコピーできる方法などはあるのでしょうか?
121 :名無しさん@そうだ選挙にいこう2011/08/21(日) 16:30:40.24
>>120
ワークシート関数では、直接コントロールの状態を取得することは出来ない
しかし、チェックボックスコントロールの状態は、セルにリンクさせることが出来、
そのリンクさせたセルの値を関数・数式で取得・集計することで、目的は果たせるはず

コピーについては、俺語ではなく日本語で説明してくれないと訳わからん
122 :名無しさん@そうだ選挙にいこう2011/08/22(月) 01:11:13.52
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

B列に、yyyy/mm/dd(aaa)で日付を入れてます。
2011/08/20(土)や2011/08/21(日)のとき、
"(土)"を青文字、"(日)"を赤文字にするには
どうすればいいでしょうか。
124 :名無しさん@そうだ選挙にいこう2011/08/22(月) 16:53:23.89
>>122
セル分けたくなければVBAだな
全体なら条件付き書式で出来るけど、一部だとVBAしかない

やり方はマクロの記録で"(土)"だけを青文字にする作業を録れば解るはず
あとはIfかSelect Caseで条件分岐させれば良いだけ
125 :名無しさん@そうだ選挙にいこう2011/08/22(月) 17:47:58.94
>>122
値を入れるセルと表示するセルが一緒だと無理だと思う。
セルが別でいいなら >>124 の通り。
159 :1222011/08/24(水) 12:49:28.98
>>124
マクロの記録で"(土)"だけを青文字にする作業をやろうとしても、
セルに入ってるのは文字列ではなくシリアル値なのでできません><
126 :90,1062011/08/23(火) 03:48:13.44
>82,100
遅くなりましたが、列と列の対応の調べ方の部分だけ説明図を作りました。
各社フォーマットのデータを統一DB様式にする方の処理です。
http://www.dotup.org/uploda/www.dotup.org1936618.png.html (パスワードは excel です)
入力側がどのフォーマットかを操作者に選択させても、それが正しいのか間違っているのかを
調べる必要があることに気付いたので、別の方法を検討しているところです。

最初の部分(ブックやシートを指定するところ)から始めるのはそちらの状況をもう少し聞かないと
進められないので、時間がとれたらまとめて質問します。

ところで、この処理って作成期限ってあるの? ここで聞くよりどこかに頼んだ方が早いと思う。
(費用はかかるけど)
127 :90,1262011/08/23(火) 07:25:17.19
126で書いた図を基に列の対応を調べる部分はできました。ただし、入力処理(各社フォーマット→統一DB)のみ。
出力処理(統一DB→各社フォーマット)の方は、>98で書いてあるように複数シートに出力の場合があるらしいので、
2ch掲示板上でのやりとりではちょっとむずかしいと思う。
以下は同一ブック内の3シートを「統一DB」「各社フォーマット」「設定」とし、各社フォーマットシートの
項目名や列の並びをいろいろ変えて試したときのVBAマクロです。
Option Explicit
Dim sh_i As Worksheet, sh_o As Worksheet, sh_s As Worksheet
Dim tate_i As Long, tate_o As Long, yoko As Integer, myAREA As String
Dim j As Integer, kensaku As String, c As Variant, a(100) As Integer
rem 配列aの要素数100は65より十分大きな数というだけ
131 :名無しさん@そうだ選挙にいこう2011/08/23(火) 10:03:15.94
>>127
ありがとうございます!
ただ、途中でどうしても「 の対応表がありません」とでてエラーになるので、
ただしく動く構成のxlsファイルを一回アップしてもらってもいいでしょうか・・・?
128 :1272011/08/23(火) 07:27:28.01
続きです
Sub test()
 Set sh_i = Worksheets("各社フォーマット")
 Set sh_o = Worksheets("統一DB")
 Set sh_s = Worksheets("設定")
' 第一ステップ 列対応の設定
  For yoko = 1 To 7  rem 65列から7列に減らしています
  j = 0
  Do
   kensaku = sh_s.Cells(1 + j, yoko).Value
    If kensaku = "" Then
    kensaku = sh_s.Cells(1, yoko).Value
    MsgBox (kensaku & " に対応する列がありません 異常終了します")
    Exit For
   End If
   If yoko = 1 Then
    myAREA = "A1:IV65536"
   End If
   Set c = sh_i.Range(myAREA).Find(What:=kensaku, LookAt:=xlWhole)
129 :1272011/08/23(火) 07:30:13.85
続きです
   If (c Is Nothing) Then
    j = j + 1
   Else
    a(yoko) = c.Column  rem ここで列の対応を設定
    If yoko = 1 Then
     myAREA = c.Row & ":" & c.Row
     tate_i = c.Row + 1  rem見出し行の次からデータがある
    End If
    Exit Do
   End If
  Loop
 Next yoko
 Set sh_s = Nothing
' 第二ステップ 各社フォーマットから統一DBへ
 tate_o = 3  rem出力側(統一DB様式)は3行目から出力するものと仮定
 Do
  For yoko = 1 To 7
130 :1272011/08/23(火) 07:32:31.96
続きです これで最後
rem第一ステップで設定した列の対応を利用して転記
   sh_o.Cells(tate_o, yoko).Value = sh_i.Cells(tate_i, a(yoko)).Value
  Next yoko
  tate_i = tate_i + 1: tate_o = tate_o + 1
 Loop While (sh_i.Cells(tate_i, a(1)).Value <> "")
 Set sh_i = Nothing: Set sh_o = Nothing
End Sub 以上
132 :名無しさん@そうだ選挙にいこう2011/08/23(火) 10:58:58.75
>131 xlsファイルは個人情報が漏れるので、画面イメージをupしました。
http://www.dotup.org/uploda/www.dotup.org1937185.png.html

○○ の対応表がありません と出るのは、設定シートに入れた項目名と
入力シート(各社フォーマット)の項目名が異なるためです。
英数字やカタカナの全角・半角の違いや、項目名の中にある空白の全角・半角の
違いもダメです。
133 :名無しさん@そうだ選挙にいこう2011/08/23(火) 11:17:45.35
>>132
ありがとうございます。
こちら、例えば各社フォーマットの「名前」「Tel」「クラス」にあたる部分だけインポートすればいい
という場合、他の列は空白状態で実行してしまうとエラーが起きてしまうのですが、
現仕様だとすべてインポートする仕様ということでしょうか?
134 :名無しさん@そうだ選挙にいこう2011/08/23(火) 11:39:12.66
セルA1に次のような入力規則を設定したいのですが可能でしょうか

セルB1が空白なら、特に入力規則なし
セルB1がそれ以外なら10-B1

137 :名無しさん@そうだ選挙にいこう2011/08/23(火) 12:36:21.95
>>134
入力規則?
関数式なら
=IF(B1="","",10-B1)
「10-B1」の表示をA1にさせたい場合は
=IF(B1="","","10-B1")
とすればおK。
135 :1322011/08/23(火) 11:39:17.89
>133
そうです。最終的に65列すべて入力シートから持ってくるわけではない、ということならば、
列の対応の設定方法をちょっと変えます。
>106で 65個もあるのにいちいち指定するのは間違いのもとでしょう
と書いたことに対してコメントが特になかったので全項目転記するものと判断して進めてました。
dim b(100) as Integer
kensaku = sh_s.Cells(1, yoko).Value
Set c = sh_o.Range(2:2).Find(What:=kensaku, LookAt:=xlWhole)  rem見出し行が2行目と仮定
b(yoko) = c.Column

sh_o.Cells(tate_o, b(yoko)).Value = sh_i.Cells(tate_i, a(yoko)).Value
こんな感じでいけると思います。午後〜夜間は用件があるので、次は明日にでも書き込みます。
138 :名無しさん@そうだ選挙にいこう2011/08/23(火) 13:43:39.40
セルA1に、if関数で真の場合は計算結果、偽の場合は計算結果+メッセージボックスを表示するようにしたいのですが
140 :名無しさん@そうだ選挙にいこう2011/08/23(火) 15:42:20.34
>>138
VBEを開き、目的のセルが存在するworksheetに直接記述。

チェンジプロシージャ

If Range("A1") = "偽" Then
MsgBox("計算結果は偽です")
EndIf
EndSub
141 :名無しさん@そうだ選挙にいこう2011/08/23(火) 17:32:56.29
入力済みの列を真っ黒にする条件書式の書き方は、どうすればよいでしょうか。
(ワークシートが空なら、全部真っ黒になる)
142 :名無しさん@そうだ選挙にいこう2011/08/23(火) 18:12:57.28
>141
日本語で説明してください。

入力済みの列 の定義
ワークシートが空なら、全部真っ黒になる との矛盾
143 :1352011/08/23(火) 21:17:38.45
>133
予定が変わったので作ってみました。ダウンロードパスは前に同じです。

説明図
http://www.dotup.org/uploda/www.dotup.org1938941.png.html

変更後のマクロ全文(2chでは分割しなきゃならないので)
http://www.dotup.org/uploda/www.dotup.org1938951.txt.html
156 :名無しさん@そうだ選挙にいこう2011/08/24(水) 12:04:01.64
>>143
ありがとうございます!
これは図解通り、設定シートの1行目に統一DBに書き出したい見出しを、
2行目に各社フォーマット見出しをコピーすればよいのですよね?

(統一DBシートはエクスポート先なので、すべての見出し、
 各社フォーマットシートは、すべてのデータが入った内容を・・・であってますか?)
144 :名無しさん@そうだ選挙にいこう2011/08/23(火) 22:07:05.26
Excel2003です。
A1セルに A を入力したらB1セルに1、
A1セルに B を入力したらB1セルに2、
A1セルに C を入力したらB1セルに3を返す方法を教えてくださいです。
146 :複乳2011/08/23(火) 22:10:28.64
>>144
=CODE(A1)-64
147 :1442011/08/23(火) 22:28:40.81
>>146
おぉ、凄い!
ありがとうございました。
148 :複乳2011/08/23(火) 22:32:37.48
>>147
こうしたら大文字小文字どちらも対応

=MOD(CODE(A1)-64,32)
149 :名無しさん@そうだ選挙にいこう2011/08/24(水) 01:41:49.82
=LEN(A1)
文字数をカウントするには上記ですが
たとえば
A1から下に数えて次に空白以外になるまですべての
B2,B3…のカウントの合計を取りたい場合
どうすればいいのでしょうか?
150 :名無しさん@そうだ選挙にいこう2011/08/24(水) 02:09:43.23
>>149
取り急ぎ、こんな感じはどうでしょう?

A1からA5のセルに含まれる文字列を数える場合。
B1に=LEN(A1)を入力
続いてオートフィルでB1の数式をB5までコピー

B6に=SUM(B1:B5)
これでA1からA5に入力した文字数がでる。
【B列は作業用列なので目障りなら非表示に
ただし非表示にするならB6の数式を別の列に移動すること】

もうひとつの方法は
文字列を数えた値を返したいセルに
=SUM(LEN(A1),LEN(A2),LEN,(A3),LEN(A4),LEN(A5))これでもできますが
メンテナンスや入力の手間を考えるとやはり前者がオススメです

151 :名無しさん@そうだ選挙にいこう2011/08/24(水) 06:28:43.05
>>149
=SUMPRODUCT(LEN(A1:A10))
ってこと?
152 :名無しさん@そうだ選挙にいこう2011/08/24(水) 09:27:42.24
セルA1、B1、C1、D1に入力規則でリスト(東、西、南、北)
と設定したいんですが、例えばセルA1に「東」と入力した場合
セルB1、C1、D1には(西、南、北)からしか選択できないように
したいんですけど可能でしょうか?
153 :名無しさん@そうだ選挙にいこう2011/08/24(水) 09:44:04.80
入力規則のリストのセルに
=IF(COUNTIF($A$1:$D$1,"東")>0,"","東")
とか
154 :1522011/08/24(水) 10:32:07.85
>>153
ありがとうございます!
155 :1522011/08/24(水) 10:53:34.89
countifで範囲指定するときに連続したセルじゃなくて
飛ばし飛ばし(11セルごと)に範囲指定する方法ってありますか?
157 :1432011/08/24(水) 12:25:41.10
>156
説明図を見てもらえばわかると思ったんだけど・・・・・
設定シートに入れる項目見出しは「転記する項目だけ」ですよ。
新旧、見比べられるように説明図を作ってます。
「すべての見出し」を設定したら「○○ に対応する列がありません」って
なるのはご存じのはずですが。
設定シートに入れていない項目見出しの列は空欄になります。
>143のマクロ、試してみましたか?
158 :143,1572011/08/24(水) 12:36:33.75
>156
念のため
設定シートに入力する項目見出しは連続している必要があります。
統一DB様式の項目数が全部で65あるうち、転記する項目が40項目だった場合は、
その40項目をA1からAN1まで「詰めて」入力してください。
次に、それぞれの項目名の下に各社フォーマットのシートで用いている項目名のバリ
エーションを入力してください。
バリエーションがなかった場合は1行目の統一DB様式での項目名だけだし、いくつも
バリエーションがある場合は、説明図でいう電話番号の列のようにどんどん下に書き
足していくことになります。
160 :名無しさん@そうだ選挙にいこう2011/08/24(水) 13:04:43.78
>159
シリアル値を文字列にしてからならどうにでもできるよ
msgbox Range("A1").text ←A1のところは実際に日付が入っているセルに変更
ってやってみて

Range("A1").Value = "'" & Range("A1").text
でシリアル値から文字列に変更してから、必要な書式を設定したらいい
165 :1222011/08/24(水) 22:02:53.29
>>160
ありがとうです。
キレイなマクロじゃないですが動作しました。

Sub 土日の色を変える()
b = Range("B65536").End(xlUp).Row
For i = 5 To b
'Range("A1").Value = "'" & Range("A1").Text
Cells(i, 2).Value = "'" & Cells(i, 2).Text
If Right(Cells(i, 2).Value, 3) = "(土)" Then
Cells(i, 2).Characters(Start:=11, Length:=3).Font.ColorIndex = 5
ElseIf Right(Cells(i, 2).Value, 3) = "(日)" Then
Cells(i, 2).Characters(Start:=11, Length:=3).Font.ColorIndex = 3
End If
Next i
End Sub
161 :名無しさん@そうだ選挙にいこう2011/08/24(水) 15:07:57.28
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 乱数

RAND関数を使った遊戯王のランダムドローツール
を作りたいと思っています。中学生で知識不足ですがよろしくお願いします。

↓以下どのようなツールが作りたいかの箇条書き
1〜X(デッキ枚数)のなかからランダムに一枚表示。
数字に対応したカードを表示し、枠の色を変える。
カードを使う場合はその数値を入れることで枠の色が戻る(よって手札がどれかわかる)

1度使われた数はデュエルが終わるまで再度ランダムに表示されない。
(数を指定して再度ランダムに表示、または数を指定してランダムに表示されないようにする)

デッキ一つあたりだいたい40枚ほどなのでかなり大変な作業になりそうですが
がんばっていきたいと思います。
RANDBETWEENやifなどを使うくらいしか見当がつきません。
よろしくお願いします。
162 :名無しさん@そうだ選挙にいこう2011/08/24(水) 18:06:08.37
ランダム表示は作業列作ってそこにRAND関数入れてその列をキーにしてソートすればいいじゃない
で、上から順番に選択していけば
あとは遊戯王のルール知らないからわからないけどマクロなしじゃ無理なんじゃ
163 :名無しさん@そうだ選挙にいこう2011/08/24(水) 19:53:01.06
>>162
遊戯王のルールを全部記憶させるのではなく、とりあえず
箇条書きの部分が使えるツールにしたいです。

ここのスレでVBAって機能を初めて知ったので難しそうだと
思ったのでけっこうきついかなと思うんですが・・・
VBAでググって出てきたプログラム見ても何が何だか
わからない((汗
164 :名無しさん@そうだ選挙にいこう2011/08/24(水) 21:18:51.80
>>163
「一枚表示」とか「カードを表示」って具体的には何をどこに表示するの?
カードのパラメーターを表にしてあってそのデータを表示するとか?
それから「カードを使う場合は〜」って言うけど例えばA1にカードの番号が表示されてるとしてB1にそのカードの番号を
入れるとA1の背景の色が変わるようには出来るけど(マクロ使えば)そのあとどうするの?
その辺そのゲームのルールが分からないから想像できないんだよね
166 :名無しさん@そうだ選挙にいこう2011/08/24(水) 22:44:01.36
>>163
例としてトランプで作ってみた
質問者の考えてるのとはかなり違うと思うけどエクセルの一般機能だとこんなもん
http://hishou.ddo.jp/~bbs/up/img/up1598.zip
167 :名無しさん@そうだ選挙にいこう2011/08/25(木) 01:22:22.15
並んでるセルの内容を1つずつ手作業で修正しようと思ってる時に

⇒1:右手マウス操作でセル選択 
⇒2:マウスでカーソル操作〜左クリックでツールバー下の欄を選択
⇒3:内容修正してエンター

これを繰り返すのがかなり非効率的なんですが、
2の部分をキーボードのみでできる方法はないでしょうか?
結構ググったけど見つからないので教えて欲しいです。
168 :名無しさん@そうだ選挙にいこう2011/08/25(木) 06:27:02.70
>>167
F2を押して編集状態にする、ってことかな
169 :名無しさん@そうだ選挙にいこう2011/08/25(木) 09:38:35.17
>>168
あれは「編集状態」というのが正しいんでしょうか
「アクティブ」かと思ってたんですがそれは単にセルが選択された状態なんですよね
そのせいでどう検索したらいいか自体がわかりませんでした。

なんにせよこれでわざわざマウスでセル選択と編集欄(?)を選ばず済みそうです。
ありがとうございます。
170 :名無しさん@そうだ選挙にいこう2011/08/26(金) 11:59:44.33
【1 OSの種類         .】 Windows XP以降全て
【2 Excelのバージョン   】 Excel2000以降全て
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
セルに「11.1111」と入れた後セルの書式設定から表示書式で数値を選び
小数点以下の桁数を1に
桁区切りを使用するにチェックをつける
以上の2点を行うと実際の値もその書式にそった値となり「11.1」になってしまう
ただし該当するブックのみその症状で新規作成されたブックはそうはならない
これってそういう風になるようなブック側の設定があるのでしょうか?
171 :名無しさん@そうだ選挙にいこう2011/08/26(金) 12:34:47.30
>>170
これじゃね
ツール → オプション → 計算方法
 ブックオプション "表示桁数で計算する" が On になってる
172 :名無しさん@そうだ選挙にいこう2011/08/26(金) 12:52:41.33
>>170
>小数点以下の桁数を1に
>桁区切りを使用するにチェックをつける
>以上の2点を行うと実際の値もその書式にそった値となり「11.1」になってしまう

当然そう書式設定すればそう反映されます。

>ただし該当するブックのみその症状で新規作成されたブックはそうはならない
>これってそういう風になるようなブック側の設定があるのでしょうか?

そのブックでの書式設定が以降の新規作成のブックに反映されることはありません。
ブックを作成するたび以前の設定が反映してしまうなど非常に厄介ですから。
もし、設定内容を反映させたブックを作成したい場合は前のブックの名前を変更して
保存してそのブックを使えば良いでしょう。
173 :1702011/08/26(金) 13:07:20.84
>>171
見事に正解でした
誰かが原本ファイルのオプションを変更していたらしいです
174 :名無しさん@そうだ選挙にいこう2011/08/26(金) 19:08:39.51
vlookupで空欄になるはずのところに0。
これを空欄のままにするには?
175 :名無しさん@そうだ選挙にいこう2011/08/26(金) 19:27:42.58
2010でピボットテーブルを使う際、
どうやれば引き算での算出ができますでしょうか?
急ぎなので答えていただける方がいると幸いです・・・
177 :名無しさん@そうだ選挙にいこう2011/08/26(金) 20:35:50.99
>>175
引き算での算出って意味が分からないけど、
http://office.microsoft.com/ja-jp/excel-help/HP005199482.aspx
のことかねえ。2010でもこの部分は大体同じ
176 :名無しさん@そうだ選挙にいこう2011/08/26(金) 20:16:42.13
>174
そのvlookupを含む式の結果が常に文字列だけっていうことなら &"" を最後にくっつけたら?
=A1 などの、単純な式でも、参照先が空欄だと結果は0になるのと同じことでしょ?
179 :名無しさん@そうだ選挙にいこう2011/08/26(金) 20:48:31.12
たとえば予算から支出を引いて残額をピボットで出したいって場合は
予算を正の数、支出を負の数にして単純に合計してたね俺は。もっと簡単な方法があればいいのに。
180 :名無しさん@そうだ選挙にいこう2011/08/26(金) 20:49:09.88
範囲選択してCtrl+Gでセル選択→空白セルの機能を使っても
空白のくせに空白が選択されないことが非常に多くて困っている。

原因と対策はありますか?

よく使う機能なのに使えないから実に不便です。
182 :名無しさん@そうだ選挙にいこう2011/08/26(金) 22:05:16.62
>>180
完全な空白セルだけだよ。
計算式で空白セルとかはダメ
181 :名無しさん@そうだ選挙にいこう2011/08/26(金) 22:03:48.69
文字としての空白とかがはいってんじゃないの
183 :1802011/08/26(金) 22:51:07.08
>>181-182
いやそれは本質じゃないと思う

あれからいろいろ実験してるんだけど
例えばまっさらなシートを開いて
E10セルに「セシウムさん」と入力し
A1〜I20の長方形を選択して
Ctrl+Gでセル選択→空白セルの機能を使ったら、なんと「!」な結果になった。

このことから推測するに、
いわゆるExcelの「最後のセル」よりも右方よび下方にあるセルたちは
存在すら認知されないセルと言えるのではないということだよ。
185 :名無しさん@そうだ選挙にいこう2011/08/26(金) 22:57:37.11
A列だけを使ってて
そこにはいろんな文字列が書いてあって
もちろん重複してるものがたくさんある。

【例】 A列
セシウムさん
怪しいお米
ウランさん
セシウムさん
怪しいお米
汚染された米
ヨウ素さん
セシウムさん
プルトニウムさん
怪しいお米
セシウムさん
汚染された米
セシウムさん
プルトニウムさん

これを重複していないのだけ、つまり文字列の全種類を、B列に取り出すにはどうしたらいいですか?
本例だとこんな感じ。

【例】 B列
セシウムさん
怪しいお米
ウランさん
汚染された米
ヨウ素さん
プルトニウムさん
186 :名無しさん@そうだ選挙にいこう2011/08/26(金) 23:03:08.60
>>185
B列にコピペしてデータ→重複の削除を押す。
187 :名無しさん@そうだ選挙にいこう2011/08/27(土) 07:25:49.47
>>183
ああ、それはその通り。

>>185
2007以降なら重複の削除
2003までなら、ピボットテーブルを使うのが一番楽
188 :名無しさん@そうだ選挙にいこう2011/08/27(土) 07:52:19.16
ときどき日本語のひらがなから漢字の変換が
まったく機能しなくなるのだけど
この原因と対策はありますか?

たとえば「げんいん」と入力してスペース押すと普通は「原因」となるのに
ときどき「ゲん員」みたいになるんです。
189 :名無しさん@そうだ選挙にいこう2011/08/27(土) 09:27:07.29
>188
このスレの >2-5 を見てください。
191 :名無しさん@そうだ選挙にいこう2011/08/27(土) 15:10:48.81
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

セルA1→2011/8/1
セルB1→2009/9/30

B1〜A1の期間を○年○ヶ月と計算させたいのですが
=DATEDIF(B1,A1,"y")&"年"&DATEDIF(B1,A1,"ym")&"ヶ月"

当然結果は1年10ヶ月になるのですが
これを1年11ヶ月(○ヶ月"目"という認識)とすることはできますか?
193 :名無しさん@そうだ選挙にいこう2011/08/27(土) 15:38:59.78
>192

=DATEDIF(B1,A1,"y")&"年"&DATEDIF(B1,A1,"ym")+1&"ヶ月"
おぉできた!
ありがとうございます!
195 :名無しさん@そうだ選挙にいこう2011/08/27(土) 15:59:46.91
>194
あ、だめか・・・


セルA1→2011/8/1
セルB1→2009/8/30
で見てみると、1年12ヶ月になりましたorz
1年12ヶ月の場合は2年、とするようにはできないのでしょうか・・・
198 :名無しさん@そうだ選挙にいこう2011/08/27(土) 17:38:14.28
>197
ありがとうございます!!

仕事で使用したいので、>192さんの+1か>197さんの数式かどちらを使うか同僚と相談してみます。
助かりました。
199 :名無しさん@そうだ選挙にいこう2011/08/27(土) 18:16:10.15
手入力で+1ヵ月修正して>191の数式を適用すれば解決しちゃうけども
いちいち修正するのが面倒なので以下の数式をでっち上げたらバグっちまった
=DATEDIF(B1,A1,"y")&"年"&DATEDIF(B1,DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)),"ym")&"ヶ月"
仮に開始日付を2011/9/1にしてみたら1年0ヵ月と表示されて1年分足りない結果に
これがDATEDIF関数のバグなのかな
202 :名無しさん@そうだ選挙にいこう2011/08/27(土) 20:31:50.69
2007のカラーパレットを2003のように変えるには
どーしたらいいでそ?
203 :名無しさん@そうだ選挙にいこう2011/08/27(土) 21:39:52.81
>>202
無理ぽ
204 :名無しさん@そうだ選挙にいこう2011/08/27(土) 23:11:24.82
アドインがいくつか公開されてますが、標準の40色のみ。
Excel2003ColorPallet.xlam、Excel2003Colors.xlamなど、ググればすぐに見つかります。
標準色だけで作成する人って多いのでしょうか。
私はローズ、ベージュ、ラベンダーなどは濃すぎるのでカスタマイズして使ってました。
205 :名無しさん@そうだ選挙にいこう2011/08/28(日) 03:50:31.01
綺麗に印刷したい物はDTPソフトつかうからなぁ
Excelを本来の表計算用途のみに使うなら、標準色セットで十二分
Excelで文書作成もカタログやポスターなどもなんでも作ろうとする奴には
標準色セットでは不十分なのかもしれないけどね
206 :名無しさん@そうだ選挙にいこう2011/08/28(日) 11:16:02.04
2003だと、予め自分で設定した色がコピー元ファイル名で呼び出せるけど、2007はできないの?
207 :名無しさん@そうだ選挙にいこう2011/08/28(日) 11:45:10.81
>>206
どう設定してどう呼び出すの
オレはcolor=vbred, vbwhite, vbblueみたいな方法しかしらないから教えてくれよ
211 :名無しさん@そうだ選挙にいこう2011/08/28(日) 12:36:57.58
>>207
1.ツール → オプション → 色 → 変更で、変えたい色にする。

2.適当なファイル名(例えば (;´Д`)ハァハァ.xls )で保存。

3.新規ファイル作成(または、カラーを変えたいブックを開く)。
  (このとき、2つ以上のブックが開いてる状態)

4.3のブックをアクティブにして、ツール → オプション → 色 → コピー元ファイル名の
  プルダウンメニューから、2で設定したブックを登録

これをマクロでやれば、特に煩わしさもない・・・かな?
208 :名無しさん@そうだ選挙にいこう2011/08/28(日) 12:15:59.70
超基本技かもしれません。

"2011.08.26"のような文字列を
Excelで自由に扱えるシリアル値に変換するには
一番簡単な方法ではどうすればいいですか?
209 :名無しさん@そうだ選挙にいこう2011/08/28(日) 12:17:15.65
超基本技かもしれません。

"20,000円"のような文字列を
Excelで数値として扱うには
一番簡単な方法ではどうすればいいですか?

("円"の文字列は削除します。いったん数値にしてしまえば表示として"円"を加えるのは簡単なので)
212 :名無しさん@そうだ選挙にいこう2011/08/28(日) 12:40:37.33
>>208
まず、置換で.→/へ替える。
書式を日付から標準や数値へ変更する。

>>209
まず置換で円→  (変換する文字の所は空欄)にすると数字だけになる。
数字だけならおせっかい機能で計算などとりあえずは問題無い。
210 :名無しさん@そうだ選挙にいこう2011/08/28(日) 12:24:27.05
余計な文字列がなければそのまま計算できる +0でも*1でもいいし
213 :名無しさん@そうだ選挙にいこう2011/08/28(日) 12:45:31.15
>"20,000円"のような文字列を
>Excelで数値として扱うには
>一番簡単な方法

20000と入力すればいい
214 :名無しさん@そうだ選挙にいこう2011/08/28(日) 14:12:35.79
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 並び替え 参照 シート分けて

自転車駐輪シールの管理に使いたいと思っています。

シート1
A列に通し番号
B列にマンション名
C列に号室

これをシート2に自動的に
最優先 B列
次に優先 C列
で並び替えて表示させたいのですが・・・

皆様、よろしくお願いいたします。
215 :名無しさん@そうだ選挙にいこう2011/08/28(日) 14:32:56.77
それはシート1でやれ ボタンに登録しとけばかんたん
216 :2142011/08/28(日) 17:52:30.09
>>215

時には2つを同時に表示させたいのですが…。
ボタンに登録でググってみます。
ありがとうございました。
218 :名無しさん@そうだ選挙にいこう2011/08/29(月) 10:26:18.26
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 オートフィルタ ペースト 0件

在庫管理でExcel VBAを組んでやっているんですが
現在庫を参照する際、オートフィルタで抽出をし別シート(抽出シート)に抽出結果をペーストしています
その際、オートフィルタ抽出結果がまったくない場合、セルの最下部まで選択範囲してしまい抽出シートにペーストしてしまい
データサイズが膨大になってしまいます(100kb→24Mb)
保存やファイルを開くのにも支障がでてくるので、オートフィルタで抽出した際抽出結果が0件の場合の条件分岐のVBAを教えていただければ嬉しいです
よろしくお願いします
250 :名無しさん@そうだ選挙にいこう2011/09/01(木) 13:10:42.99
>>218の人か
どんなユーザーフォーム使っててどこにコード記述してるのかわからないんだよね
251 :2482011/09/01(木) 13:14:33.43
>>250
私でしたら、初めての書き込みです。
分かりにくかったみたいで、すみません。
終業後にもっと整理してご相談に上がります。
252 :名無しさん@そうだ選挙にいこう2011/09/01(木) 13:25:19.22
>>251
パッと見て変なのは最終行の
shouhin + "(" + Sheets("商品データ").Cells(Foundcell.Row, 3).Value + ")"

shouhin & "(" & Sheets("商品データ").Cells(Foundcell.Row, 3).Value & ")"
じゃないの
220 :名無しさん@そうだ選挙にいこう2011/08/29(月) 14:41:34.35
Range("D4").End(xlDown).Rowのところを
Range("D4"&rows.count).End(xlup).Rowにしすればいいんでは
Range("C3").End(xlDown)のところも同じかんじで

元のデータの見出し行がどこで抽出シートのどこに張り付けるのかはっきりすれば
もっと効率いいコード書けると思う
222 :2182011/08/29(月) 15:57:52.12
返信ありがとうございます
上記の方法でとりあえずデータが膨れ上がることはなくなりました
ただフィルタ検索結果が0件の際、元のシートの2列目に見出しがあるのでその列が抽出シートにペーストしてしまいます
If Range("D4").Value = "品名" Then
Range(Rows("4"), Rows(myrow1)).Select
Selection.Delete
End If
で削除してとりあえず形にすることができました

効率のいいコードを考えているのですがまだまだ勉強不足ですので精進していきます
ちなみにマクロボタンが1行目 見出し行が2行目
3.4行目がオートフィルの関係上調整用の行で非表示にしています
抽出用シートが印刷を考慮しているため4行目からのペーストにしています
223 :名無しさん@そうだ選挙にいこう2011/08/29(月) 20:39:28.36
AVERAGE((A1+C1*0.1)+(A2+C2*0.1)…(A10+C10*0.1))
という関数を簡単に記述する方法ってないでしょうか?

また、AVERAGE((B1+C1*0.1)+(B2+C2*0.1)…(B10+C10*0.1))という計算をさせようとして
一番上の関数をコピーするとCがDに変わってていちいち書き直さなきゃいけないんですが、
書き直さなくていいような方法はないんでしょうか
224 :名無しさん@そうだ選挙にいこう2011/08/29(月) 20:48:09.30
>>223
こういうことかなあ
=SUMPRODUCT(A1:A10+(C1:C10)*0.1)/COUNT(A1:A10)
averageは何のaverageなんだ?

Cを$Cとすれば、Cは固定できます
226 :名無しさん@そうだ選挙にいこう2011/08/29(月) 21:09:38.92
>>225
まあとりあえず、>>224の式でOKのはずです。

コピー対応として
=SUMPRODUCT(A$1:A$10+($C$1:$C$10)*0.1)/COUNT(A$1:A$10)
こういうことかな
225 :名無しさん@そうだ選挙にいこう2011/08/29(月) 20:57:50.10
+いらなかったですね。
(A1+C1*0.1),((A2+C2*0.1),((A3+C3*0.1)の平気値を取りたかったんです。
227 :名無しさん@そうだ選挙にいこう2011/08/29(月) 21:32:09.50
ありがとうございました
228 :名無しさん@そうだ選挙にいこう2011/08/29(月) 21:56:20.19
>>227の感じだと理解出来てないみたいだな・・・。
230 :名無しさん@そうだ選挙にいこう2011/08/29(月) 23:16:26.07
単に"A"と一文字だけかかれたセルを抽出しようとして"A"で検索したら
"All"とか"ANGEL"とか"a"とか"This is a pen."とか"apple"とか
関係ないものもひっかかってきやがる。
これを防ぐ方法は?
231 :名無しさん@そうだ選挙にいこう2011/08/29(月) 23:40:31.89
>>230
「セル内容が完全に同一であるものを検索する(O)」のチェックボックスをONにする
232 :名無しさん@そうだ選挙にいこう2011/08/30(火) 14:33:31.15
セシウムさん作者の解雇はかわいそうと思う。
このスレだってセルの例として「りんご」「みかん」「うんこ」が使われてきたけど
お米の当選者に適当に名前を入れてと言われれば
当時話題になったセシウムを擬人化して「セシウムさん」にするのは
きわめて普通に思いつくこと。
逆に「セシウムさん」じゃなかったら何を入れたらいい?
「名無しさん」は2chみたいで不適切だし
「田中さん」「鈴木さん」みたいによくある名字を使うのもなんか変。
あらためて「セシウムさん」は自然だと思う。
234 :名無しさん@そうだ選挙にいこう2011/08/30(火) 21:10:00.76
>>232
で、Excelでどうしたいのですか?
235 :名無しさん@そうだ選挙にいこう2011/08/31(水) 00:10:58.16
マクロを動かすボタンは、あのグレーのやつが一般的なの?
238 :名無しさん@そうだ選挙にいこう2011/08/31(水) 00:18:08.02
>>235
グレーのヤツは味気ないから、俺はオートシェイプの額縁で
カラフルにしてるよ
239 :名無しさん@そうだ選挙にいこう2011/08/31(水) 15:00:49.10
マクロさん
245 :名無しさん@そうだ選挙にいこう2011/09/01(木) 00:04:08.02
>>239
これだから出稼ぎ百姓は
240 :名無しさん@そうだ選挙にいこう2011/08/31(水) 15:08:58.64
【1 OSの種類         .】 Windows
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】 更新されない、リンク、ミラー、2つ同時

元になるデータファイルがありまして
共有の問題で他の人はリンクで値を元データから
持ってきたミラーファイルを見てもらう仕様にしているのですが
そのミラーファイルを開くと更新がされておらず
元データを開くとミラーファイルの値が更新がされるといった状況です。

いちいち元データを開くとミラーファイルの意味がなく
共有の問題で元データは開かせたくないため
自動で更新されるようにしたいのですがどうしたらよいでしょうか?

excel2010で保存するようになってからこの現象が起こるようになったようです。

よろしくお願い致します。
241 :名無しさん@そうだ選挙にいこう2011/08/31(水) 15:47:26.73
【1 OSの種類         .】 Mac/Win
【2 Excelのバージョン   】 Excel 2004 for Macほか
【3 VBAが使えるか    .】 OK
【4 VBAでの回答の可否】 OK


ダブルクリックによるオートフィルでシリアル値を入力する時に
既存データ列の空欄セル位置で停止するのを回避するにはどうし
たらよいのでしょうか?

行数が膨大であることが多いためドラッグを使わないで入力したい
と思います。
242 :名無しさん@そうだ選挙にいこう2011/08/31(水) 19:51:30.14
>>241
いろんな方法が考えられますが、状況がわかりません。
具体的な状況を教えて下さい
243 :名無しさん@そうだ選挙にいこう2011/08/31(水) 20:10:00.10
>>242
説明が足りず申し訳ありません。例えばこんな感じです。

・A列は全空欄。B列以降にはデータがあるが、ところどころ空欄。
・B列の最初の空欄をB100とします。
・A列に1, 2, 3, と連続番号をB列の最終データセル(例えばB5000)に対応したセル(A5000)
までオートフィルで挿入したい。
・A1=1, A2=2とし、それを選択してダブルクリックでオートフィルを試みるとA99=99で停止。

A99で止まらず、A5000=5000と一気に入力できたらと考えています。
(IF関数やLEN関数などの値をA5000まで自動で得られれば、それを暫定的に新B列としてA列の連続
値を得られるかとも思ったのですが、ifやlenもA99で停まってしまいます。)
244 :名無しさん@そうだ選挙にいこう2011/08/31(水) 20:17:21.93
>>243
自分がよくやる方法は
数式ボックスに
A1:A5000
と入れて、1を入れてCTRL+ENTER
これで全てのセルが埋まるので、次にa1のセルをダブルクリックして連続データ

でもこの方法は邪道かも。

優等生的答えは
連続データの作成。これは個人的にはあまり好きじゃないけど紹介だけ
http://kokoro.kir.jp/excel/renzokudata.html
264 :2412011/09/02(金) 00:07:22.55
>>244
レスありがとうございます。
どちらも最終行の行ナンバーが分かっていれば、それを指定した連続値を使うのがよいという
ことですね。(ある列の最終セルに移動する時も空白セルがあるとそこで一旦停止するのが
悩ましいです。)
246 :名無しさん@そうだ選挙にいこう2011/09/01(木) 12:29:54.58
94556とかの数値を単純な文字列に変換する関数ってありますか?
TEXT関数だとどの書式にしていいのか分からないし

よろしくお願いします
247 :名無しさん@そうだ選挙にいこう2011/09/01(木) 12:34:12.57
関数いらない 文字列と&でつなげれば勝手に文字列になる
254 :名無しさん@そうだ選挙にいこう2011/09/01(木) 14:39:53.13
>>247
いや、数値が入ったセルを、セル左上の文字列マークが出るようにしたいのですが
256 :名無しさん@そうだ選挙にいこう2011/09/01(木) 14:52:11.34
248 :名無しさん@そうだ選挙にいこう2011/09/01(木) 12:37:27.90
【1 OSの種類         .】 WindowsVista 会社はXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 学び始めたばかりです
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 型が一致しません String Dim FoundCell.Row

簡単な顧客管理のようなものを作っています。下記のようにお客様シートと商品シートがあります。
[お客様シート]
1          2
(名前)   (注文商品名)
日本太郎   みかん
日本花子    りんご
[商品シート]
1            2
(商品名)    (産地)
みかん      愛媛
りんご       青森
新しいお客様をユーザーフォームで入力する際に、既に入力済みの商品シートから銘柄を選び、
お客様シートの商品名の後ろにカッコ付きで産地を表示させたいのです。
例  日本太郎   みかん(愛媛)
下記のようにユーザーフォームの中にコードを書きましたが、型が一致しませんのエラーになります。
お分かりの方いらっしゃいましたら、アドバイス頂けませんか?

Sheets("お客様シート").Select
i = 2 '1行目は見出し
Do While Cells(i, 1).Value <> ""
i = i + 1
Loop
Dim FoundCell As Range, shouhin As String
shouhin = ユーザーフォーム.商品リスト.Value
Set FoundCell = Sheets("商品データ").Cells.Find(shouhin)
Sheets("お客様シート").Cells(i, 8).Value = shouhin + "(" + Sheets("商品データ").Cells(Foundcell.Row, 3).Value + ")"
253 :名無しさん@そうだ選挙にいこう2011/09/01(木) 13:39:59.59
>>248
リストボックスのRowSourceはどうやって指定してるの?
255 :名無しさん@そうだ選挙にいこう2011/09/01(木) 14:46:19.45
>>248
自分で作るならこんな感じかなあ
商品リスト(て言うリストボックスがあるんだよね?)のRowSourceに商品データのデータ範囲を指定しておいて

Private Sub list2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  Dim targetRow As Long

  targetRow = Sheets("お客様シート").Range("a1").CurrentRegion.Rows.Count + 1

  With 商品リスト
    Sheets("お客様シート").Cells(targetRow, 8).Value = .List(.ListIndex, 0) & "(" & .List(.ListIndex, 1) & ")"
  End With

End Sub
266 :2482011/09/02(金) 01:01:05.83
レス下さった方々、ありがとうございます。

>>252
&に変えただけで希望通りに入力されました!
本当に助かりました、ありがとうございました。

>>253 >>255
Private Sub UserForm_Activate()
i = 2 '1行目は見出し
Do While Sheets("商品データ").Cells(i, 1).Value <> ""
i = i + 1
商品リスト.AddItem Sheets("商品データ").Cells(i, 1).Value
  Loop
End Sub

このようにリストに商品名を足していました。
255さん、コードも書いて下さってありがとうございました。
自分のコードではまだまだ無駄も多い書き方だと思うので、ぜひ参考にさせて頂きます。

帰宅が遅くなったもので、お礼が遅れて申し訳ありませんでした。
とても助かりました、本当にありがとうございました。
249 :2482011/09/01(木) 12:57:45.93
すみません、コードのところにコピペし忘れましたが、
変数iの宣言はしてあります。
257 :名無しさん@そうだ選挙にいこう2011/09/01(木) 19:27:17.14
数字を文字列として認識させるにはどうすればいいですか?
緑の三角が出てきてうざい。
260 :名無しさん@そうだ選挙にいこう2011/09/01(木) 20:01:40.57
>>257
緑の三角がないと困ることのほうが多いと思うけど。

バージョンが分からないけど、エラーを出さないようにすればいいんじゃないの?
258 :名無しさん@そうだ選挙にいこう2011/09/01(木) 19:37:56.99
Excel2007です。
A1セルに文章を入れるフォーマットで、半角文字があったら
エラーメッセージを出すようにしたいです。
入力規則で次のように設定しましたが、半角文字だけなら
問題ないですが、全角と混在するとだめになります。
=len(a1)<>lenb(a1)
どうすればエラーメッセージが出るようになりますか?
259 :名無しさん@そうだ選挙にいこう2011/09/01(木) 19:59:23.30
>>258
=JIS(A1)<>A1
261 :名無しさん@そうだ選挙にいこう2011/09/01(木) 20:13:39.31
>>259
ありがとうございまうs
262 :名無しさん@そうだ選挙にいこう2011/09/01(木) 20:44:11.73
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィルタ 非表示 コピペ等

オートフィルタを使用して、抽出したデータに対してペーストしようとしても、
非表示行を含む複数範囲に対して(書式を維持するために)値貼り付け等をすると、
非表示行も変更されてしまいます

ググった結果、一度不要列にコピペしてから書式をそちらにコピーし、
それを本来の場所にペーストする方法が書いてあったのですが、
もっと簡単な方法は無いでしょうか?

また他に、オートフィルタで意図せずに非表示データを変更しかねない操作があったら教えてください
263 :名無しさん@そうだ選挙にいこう2011/09/01(木) 20:48:55.50
>>262
何がやりたいのか、微妙に分かっていないけど、
alt+;(れ)で可視セル選択してから貼りつけてもダメ?
275 :2622011/09/03(土) 08:31:04.99
>>263
こんな機能があったんですね、
無事解決しました
的確な返答をありがとうございました
265 :名無しさん@そうだ選挙にいこう2011/09/02(金) 00:55:19.66
シートの固定について質問です。
ウインドウ枠の固定のようにsheet1だけを固定して
その右にあるシートだけを移動させ
sheet1の隣にsheet3やsheet5等を表示させる事は可能でしょうか?
よろしくお願いします。
273 :名無しさん@そうだ選挙にいこう2011/09/03(土) 00:07:00.03
>>265
同じブック内の別シートを縦横に並べて見比べたいという用途なら、

[ウィンドウ]>[新しいウィンドウを開く]

[ウィンドウ]>[整列]で「並べて表示」

表示領域(子ウィンドウの大きさ)はドラッグでお好みに

当方2000使いなんで、コマンド名とかメニューの位置とかは適当に読み替えて
267 :名無しさん@そうだ選挙にいこう2011/09/02(金) 05:03:58.72
OPenofficeとLibreofficeしか使ったことがないんですが見た目が全く違って戸惑ってます
ちなみに新しくパソコンを買い替えてマイクロソフトオフィス2010です。
どちらが果たして使いやすくて優秀なんでしょうか
269 :名無しさん@そうだ選挙にいこう2011/09/02(金) 21:10:36.30
Excelの入門レベルは突破したから
こんどは仕事で使える「便利技」を重点的にたくさん学びたいんだけど
そういう中級レベル以上を対象としてる
とくに便利技のサンプル例がたくさん載ってる本はありませんか?
271 :名無しさん@そうだ選挙にいこう2011/09/02(金) 22:41:52.20
vlookupで空欄になるはずのところに0。
これを空欄のままにするには?
そのvlookupを含む式の結果が常に文字列だけではなく数字や日付のこともあるので
&"" を最後にくっつける裏ワザを使ったら数字や日付になるべきところが空欄になって困ります。
272 :名無しさん@そうだ選挙にいこう2011/09/02(金) 22:58:00.64
・IF文でゼロだったら""にする
・オプションでゼロを表示しないにする
274 :名無しさん@そうだ選挙にいこう2011/09/03(土) 07:52:21.45
すみません関数に詳しい人いますか

50個の因子があって、その因子にはAとBという数値が割り振られていて
50個の因子のうち8個の因子のAの合計が150以内で、Bの合計が最大となる因子の組み合わせを調べる関数ってできますかね?
ぜんぜん関数の組み合わせが思いつかないんですが
ちなみにエクセル2003です。
276 :名無しさん@そうだ選挙にいこう2011/09/03(土) 08:55:14.10
>>274
関数じゃ無理そうなので総当りを不器用にVBAでやってみた。
50個はめんどくさいので因子4個の場合のサンプル。ここの4618にうpした
ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi
279 :名無しさん@そうだ選挙にいこう2011/09/03(土) 20:09:58.28
よく考えたら >>276の場合2^50行必要になるからこのままじゃ無理だな何日かかるかもわからん
277 :名無しさん@そうだ選挙にいこう2011/09/03(土) 09:23:05.72
274はパズルの懸賞問題か?
278 :名無しさん@そうだ選挙にいこう2011/09/03(土) 19:40:04.57
>>276
thx
やっぱ関数じゃ無理か総当りしかないかなぁ
>>277
パズルじゃないんだけどそんな懸賞問題でもあったのかな
281 :名無しさん@そうだ選挙にいこう2011/09/03(土) 20:14:04.46
>>↑
mod
283 :2802011/09/03(土) 20:31:03.34
>>281-282
即レスありがとうございます。
284 :名無しさん@そうだ選挙にいこう2011/09/03(土) 22:02:22.47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

マクロでSheet1の最下行+1行目にSheet2のデータをコピペするとき、
B列とE列を比較して、重複してるデータを避けるには
どうすればいいでしょうか?

データは時系列で並んでおり、B列は時刻ですが文字列です。
下記の例では、Sheet2の4行目だけをコピペしたいです。

Sheet1
 A       B    C    D     E
9月1日  10:08:27  A01  りんご  秋映
9月1日  13:16:39  A01  りんご  姫小町
9月1日  15:47:51  A01  りんご  富士   (重複してる)
9月2日  10:11:55  A01  りんご  王林   (重複してる)
9月2日  14:45:02  A01  りんご  姫小町  (重複してる)

Sheet2
 A       B    C    D     E
9月1日  15:47:51  A01  りんご  富士   (重複してる)
9月2日  10:11:55  A01  りんご  王林   (重複してる)
9月2日  14:45:02  A01  りんご  姫小町  (重複してる)
9月2日  16:03:57  A01  りんご  富士
285 :複乳2011/09/03(土) 22:23:16.23
>>284
こうしたまえ

Sub セシウムさん()
Sheets(2).Activate
Cells(1, 1).CurrentRegion.Copy
Sheets(1).Activate
Cells(1, 1).End(xlDown).Offset(1, 0).Activate
Sheets(1).Paste
Cells(1, 1).Activate
ActiveCell.CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
End Sub
287 :名無しさん@そうだ選挙にいこう2011/09/03(土) 22:57:32.05
いったんぜんぶ貼りつけて、A-Eを結合したキーをつくって、キーの重複を検査
(COUNTIF)してフラグを立ててから手動で削除するしかないかな
289 :2842011/09/04(日) 12:43:59.81
>>285
意図と違いますが、何かの参考にさせていただきます。

>>287
マクロでいまくできました。
ただ、F列を作業列にして = "=CONCATENATE(RC[-4],RC[-1])" にすると
"10:08:27秋映" ではなく "0.422534722222222秋映" になります。

動作は問題ないようですが、"10:08:27秋映" にするには
どう書けばいいでしょうか?
290 :名無しさん@そうだ選挙にいこう2011/09/04(日) 12:59:26.78
TEXT()でフォーマットつける
291 :2842011/09/04(日) 18:35:27.37
x いまく
o うまく

>>290
できました。
Format()じゃないんですね・・・
292 :名無しさん@そうだ選挙にいこう2011/09/05(月) 02:03:43.91
Excelで犬猫の糞管理をする人たち

【michael】マイケル・ジャクソン【jackson】Part1152
689 魅せられた名無しさん 2011/09/05(月) 00:04:10.18
>>686
ふつうに使うお
ヌコ達の小便大便の管理とかエサ管理とか
ワードは年賀状とか手紙かくとか

710 魅せられた名無しさん 2011/09/05(月) 00:13:35.72
>>703
私は犬の体調管理に使ってるけど
うんはK
しっこはH
で書いてるよ

721 魅せられた名無しさん 2011/09/05(月) 00:20:04.10
各トイレと各ヌコの大便小便の回数と状態を記入だお
療法食のヌコのはそれに食べたご飯の種類やら成分値を入れて
その時の小便回数などから分析
月一回のpH検査の値も入れてグラフ表示までやるお
293 :名無しさん@そうだ選挙にいこう2011/09/05(月) 18:10:15.37
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

IF文で条件よってセルに値を入力する事って出来ますか?
if(A1>100,A2=100,A3=0)
みたいなイメージです。
296 :名無しさん@そうだ選挙にいこう2011/09/05(月) 20:19:15.63
>>293
そーゆー事例はどんなときに使うの?
299 :名無しさん@そうだ選挙にいこう2011/09/05(月) 20:52:29.06
>>293
>if(A1>100,A2=100,A3=0)
>みたいなイメージです。

イメージがぜんぜんわからないのは俺だけ?
300 :名無しさん@そうだ選挙にいこう2011/09/05(月) 20:53:55.10
>>296
シートのチェンジイベントを起こしたくて、苦肉の案です。
A2が書き換わる時にチェンジイベントを利用して処理をしようと
考えたのですが、294さんの例だとチェンジイベントは起きないので。
多分、Calculateイベントで関係するセル総当たりでみていくしかないみたいです。
375 :名無しさん@そうだ選挙にいこう2011/09/12(月) 00:08:40.19
>>299
A1が100より大きければ、A2に100と表示し、A3には0と表示する。としたいんだろ。
294 :名無しさん@そうだ選挙にいこう2011/09/05(月) 18:56:22.46
>293
A2セルに =IF(A1>100,100,0)  A1が100より大きければA2は100、それ以外ならば0
A3セルに =IF(A1>100,0,100)  A1が100より大きければA3は0、それ以外ならば100
こういうことならできます
295 :名無しさん@そうだ選挙にいこう2011/09/05(月) 20:00:46.48
>>294
トンです。
そうか、逆は無理ですか。
298 :名無しさん@そうだ選挙にいこう2011/09/05(月) 20:31:43.15
ドヤ顔でヘボいコードまで書いて得意げなところ悪いが

> VBAならできるんじゃないかな
そんなことは皆解ってるが、
> 【4 VBAでの回答の可否】 否
だから触れないだけ
301 :名無しさん@そうだ選挙にいこう2011/09/05(月) 21:03:39.25
人からもらったファイルで、ある列のセルに適当に数字入れると
数字の大きさによって、背景白の文字黒色、背景緑の文字赤色
に変わるんだけど、どうなってるの?
少なくともマクロはない。
セルにもそれらしき関数は入って無いっぽいんだけど。
302 :名無しさん@そうだ選挙にいこう2011/09/05(月) 21:04:57.16
>>301
条件付き書式
306 :名無しさん@そうだ選挙にいこう2011/09/05(月) 21:10:49.39
>>302
おお!ありがまんこ
303 :名無しさん@そうだ選挙にいこう2011/09/05(月) 21:05:03.02
>293,300
>シートのチェンジイベントを起こしたくて
だったら、なんでVBA利用:否って書いたの?
304 :名無しさん@そうだ選挙にいこう2011/09/05(月) 21:05:47.40
>>303 いいじゃないかw ひとそれぞれだよww
305 :名無しさん@そうだ選挙にいこう2011/09/05(月) 21:08:38.47
>>303
だって、if分での書き換えではイベント起こらなかったんだもん。
308 :名無しさん@そうだ選挙にいこう2011/09/06(火) 00:29:40.33
条件付き書式で条件3つ付けたら条件によって
文字サイズが微妙に変わるんだけど何でですか?
条件付き書式のフォントの設定ではサイズとかは
グレーアウトしていて選ぶ事は出来ません。
311 :名無しさん@そうだ選挙にいこう2011/09/07(水) 00:04:21.81
>>308
太字にしたら、標準よりは大きく見えるけど
…って、そういうことではないのかな

どういう条件および書式を設定してるかの詳細と、
条件が適用されてるときとされてないときの
セルのスクショでもうpしてくれれば、何か分かるかも
309 :複乳2011/09/06(火) 00:36:47.26
うんこ!ちんこ!まんこ!
310 :名無しさん@そうだ選挙にいこう2011/09/06(火) 01:00:01.74
>>309
うんこといえば

Excelで犬猫の糞管理をする人たち
【michael】マイケル・ジャクソン【jackson】Part1152
689 魅せられた名無しさん 2011/09/05(月) 00:04:10.18
>>686
ふつうに使うお
ヌコ達の小便大便の管理とかエサ管理とか
ワードは年賀状とか手紙かくとか

710 魅せられた名無しさん 2011/09/05(月) 00:13:35.72
>>703
私は犬の体調管理に使ってるけど
うんはK
しっこはH
で書いてるよ

721 魅せられた名無しさん 2011/09/05(月) 00:20:04.10
各トイレと各ヌコの大便小便の回数と状態を記入だお
療法食のヌコのはそれに食べたご飯の種類やら成分値を入れて
その時の小便回数などから分析
月一回のpH検査の値も入れてグラフ表示までやるお
312 :名無しさん@そうだ選挙にいこう2011/09/07(水) 14:26:07.07
Excel2010で条件付き書式の練習をしています
日曜日のセルを赤く塗る為に条件を入力した後、土曜日のセルを青く塗る為に追加入力したいのですが
Excel2003のように【追加(A)>>】のボタンが存在していないので一度【OK】して完了し、また範囲指定してから土曜日の設定をしています
Excel2010では追加入力をするには別の方法があるのでしょうか?
313 :名無しさん@そうだ選挙にいこう2011/09/07(水) 19:32:03.15
>>312
ルールの管理から入ると少しはマシかも。
319 :名無しさん@そうだ選挙にいこう2011/09/08(木) 11:10:42.66
>>313
出来ましたありがとうございます
質問続きですみませんがweekday関数を使う場合、【=weekday($A2)=1】と入力すると日曜の行に書式が適用されると思いますが
Excel2010でやると何故か火曜日の行に適用されてしまいます
火曜日が【1】、水曜が【2】、木曜が【3】…月曜が【7】とずれているのですが
此はExcel2010の仕様なのかそれとも適用される曜日を変更出来るのでしょうか?
314 :名無しさん@そうだ選挙にいこう2011/09/07(水) 20:47:49.77
教えてください。
セルに特定の記号が入力されたらそれを特定の数値としてカウントし、合計させたいです。
たとえば○→5点、□→3点というふうに条件付けるとして
A1に○、A2に□が入力されたらA3に8点と表示したいわけです。
どの関数を使えばいいでしょうか?
countifもsumifも違うように感じました。どなたかご教授を…。

316 :複乳2011/09/07(水) 21:02:16.70
>>314
標準的にはcountifを使い、こうだな。

A3セル
=COUNTIF(A1:A2,"□")*3+COUNTIF(A1:A2,"○")*5
320 :名無しさん@そうだ選挙にいこう2011/09/08(木) 11:48:53.99
>>314
C1:D2に
○  5
□  3
と対応表があれば
=SUMPRODUCT(COUNTIF(A1:A3,C1:C2),D1:D2)
対応表がなければ
=SUMPRODUCT(COUNTIF(A1:A6,{"○","□"}),{5,3})
=SUM(COUNTIF(A1:A6,{"○","□"})*{5,3})
など
315 :名無しさん@そうだ選挙にいこう2011/09/07(水) 20:59:30.67
A3セル
=(A1="□")*3+(A1="○")*5+(A2="□")*3+(A2="○")*5
318 :名無しさん@そうだ選挙にいこう2011/09/08(木) 10:23:42.26
>>315
この数式があえいでる顔に見えてすごくエロく感じた
疲れてるな俺
321 :名無しさん@そうだ選挙にいこう2011/09/08(木) 13:13:47.92
SUMPRODUCT使うならCOUNTIF関数いらんなー

=SUMPRODUCT((A1:A2={"○","□"})*{5,3})
322 :名無しさん@そうだ選挙にいこう2011/09/08(木) 13:33:15.06
>>321
うむ、たしかに
323 :名無しさん@そうだ選挙にいこう2011/09/08(木) 13:39:03.39
F9で調べてみればわかるが、仕組みが全然違うな。
範囲が広ければCOUNTIF使ったほうが軽そうだ。
324 :名無しさん@そうだ選挙にいこう2011/09/08(木) 18:09:08.13
【1 OSの種類         .】 Windows7 64
【2 Excelのバージョン   】 Excel 2010 14.0・・・
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル CPU 使用率

エクセルの処理をするとCPU使用率が必ず100%になってしまいます。
PCはi5、メモリ4Gのそこそこのパソコンを使っています。

計算する行数が3万近くなっているのが原因かと思います。
処理が終わるのに5分ぐらいかかっています。

まず、100%回避の方法が知りたいです。
1シートを複数シートにした場合に処理能力は変わりますか?
325 :名無しさん@そうだ選挙にいこう2011/09/08(木) 18:46:16.67
・Excelが使用するCPUの数を減らす
・条件付き書式があればぜんぶ消す
326 :名無しさん@そうだ選挙にいこう2011/09/09(金) 00:30:53.46
番号 名前 得点
1 田中 100
2 佐藤 90
3 鈴木 120
4 斉藤 110

このように並んでいるデータがあるとします。
得点をもとにランク付けしたり順位を数えたりする場合は
rankやlargeの関数を使えばいいと思うのですが、指定の得点順位を、
得点した者の名前or番号で抽出する場合にはどうすればいいですか?

たとえば2位の得点者はここでは「斉藤」ですよね。
2位の得点者を抽出したい場合、得点そのものではなく「斉藤」という名前を
指定したセルに表示させたいのです。

ご回答お願いします。

330 :名無しさん@そうだ選挙にいこう2011/09/09(金) 06:40:28.39
>>326,>>328
テンプレの
> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
の2つのうち1つが抜け落ちちゃってるんだが、そこに
> ▼数式・関数
>   ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
ってのがある

君の要望は、この「数式・関数では出来ないこと」に該当する

そして代用法の筆頭がVBA、次点が条件付きだが、無駄に複雑な式を組むこと
「結果の最大数」は、2位の場合、理論上は「総人数-1」になるので
(100人中、1人が100点、99人が90点なら、2位として抽出される件数が99件となる)
作業セル使って「総人数-1」個の式を作って、それを論理式や検索式で繋げていくことになる

そうすれば結果は出せるが、恐ろしく無駄な方法なので、普通はVBA使うね

しかし君はここのルールである「VBAの可否」などを質問時に答えてないから
これも>>3★2のルール通り、「VBA可で自分でコード書ける」と勝手に解釈し


   >>326 「VBAで出来るから自分でコード書いて」


という回答を以て、君の質問は解決扱いになる
条件後出しでVBA無しでやりたいとか言い出しても後の祭りなので、今回はこれ以上の回答は期待せず
こういう対応されるのが嫌だったら今後はスレのルールを無視した愚かな質問の仕方をしないように気を付けるこった

まあ、もしかしたら実生活で誰からも相手にされない「教えたがり君」が出てきて、何か教えてくれるかもしれないがなw
327 :名無しさん@そうだ選挙にいこう2011/09/09(金) 00:36:31.41
>326
同点の人がいたらどうするの?
328 :名無しさん@そうだ選挙にいこう2011/09/09(金) 00:46:14.49
>>327
いっしょに抽出したいです。
ちなみにただ1つの順位だけでなく、一つのセルにa位〜f位までと、
指定した複数の順位(を名前で)表示することができたら、と思っています。
329 :3272011/09/09(金) 00:48:08.01
>328
一つのセルに複数データ? 結局、何をやりたいの?
331 :名無しさん@そうだ選挙にいこう2011/09/09(金) 07:50:41.63
別のセルに表示とかいうから面倒なことになる。
フィルタかけるか、ピボットで抜き出せばたちどころに解決。
332 :名無しさん@そうだ選挙にいこう2011/09/09(金) 10:02:42.08
質問なのですが列1セル目に?品目?、2セル目に?数量、3セル目に?日付を入力し

?00123 ?3個 ?2011/01/01 A
?00123 ?4個 ?2011/01/03 B
?00123 ?2個 ?2011/01/07 C
?00124 ?1個 ?2011/01/01 D
?00124 ?5個 ?2011/01/12 E
      〜
と表を作ったのですが?の同一番号の中に?の日付が特定日をすべて越えたときのみ
リストアップすると言う事は可能でしょうか?
例えば2011/01/07以降は表示させないとした場合、AとCは01/07以前ですが
Cがまだ超えていないのでA、B、Cとも表示させないと言う具合です。

どなたかご教示よろしくお願いいたします。
333 :名無しさん@そうだ選挙にいこう2011/09/09(金) 14:04:48.39
>332
意味が支離滅裂なのでエスパーして回答します。
「○○以前」とは ○○ も含むので、A,B,C全て01/07以前です。

で、?の日付が特定日を全て越えた とは、
?の品目?が同一のものについて?の日付の最小値がわかればいいので、
作業列を利用します。
?はA列、?はB列、?はC列で1行目は項目見出し、2行目からデータがあると仮定すると
D2セルに =MIN(IF($A$2:$A$6=A2,$C$2:$C$6,"")) と入力(Enterキーはまだ押さない)し、
[Ctrl]キー、[Shift]キーを押しながら[Enter]キーを押します。※配列数式を入力したという意味です。
数式バーに {=MIN(IF($A$2:$A$6=A2,$C$2:$C$6,""))} と表示されていたらOKです。
335 :3322011/09/09(金) 14:16:22.18
>>333-334さん、ありがとうございます。
説明がわかり難くてすいません、ご教示頂いたようにやってみます。

わざわざお時間さいて頂ありがとうございました!
334 :名無しさん@そうだ選挙にいこう2011/09/09(金) 14:07:11.61
続きです。
2件目以降はドラッグコピーで複写できます。このままだとD列は全て2011/01/01となるので、
4件目のデータ(Dのところ)を2011/01/02に変えると、品目?が00124の2件は2011/01/02になり、
品目?毎に日付の最小値が設定されていることがわかります。
>Cがまだ超えていないのでA、B、Cとも表示させないと言う具合です ということは
逆に 品目?毎の日付の最大値 を調べて、その日付で何かしたいのであれば、計算式の MIN を
MAX にしたらいいです。 どっちをしたいのかが、質問の文章からは推測できませんでした。
336 :名無しさん@そうだ選挙にいこう2011/09/10(土) 11:17:45.07
番号
A1 NO1
A2 NO2
A3 NO3
A4 NO3
A5 NO4
とA列に番号を振っていますが、A2以降を自動で計算するにはどうすればいいですか?
A2に"=A1+1"と指定しましたが#VALUE!とエラーになりました。
NOが重複する度にオートフィルで入れ直す手間を改善したい。

ご回答お願いします。
337 :名無しさん@そうだ選挙にいこう2011/09/10(土) 11:22:39.89
>336
セル書式(ユーザー設定)で "NO"# って設定し、A1には 1 だけいれたら、
> A2に"=A1+1"
でいけるよ。セルの値としては数字、表示の方はセルの書式で NO を付加するといいです。
339 :名無しさん@そうだ選挙にいこう2011/09/10(土) 20:25:36.63
>>337の方法で出来ました。
ありがとうございました。
338 :名無しさん@そうだ選挙にいこう2011/09/10(土) 18:44:44.32
="NO"&ROW()
なら、書式設定する必要無し

逆に書式設定するなら、
=A1+1
なんて式使わず、フィルコピーで事足りる
340 :名無しさん@そうだ選挙にいこう2011/09/10(土) 23:14:15.91
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003、2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 半角英数字 関数

テキストデータをシートにコピペして、半角英数字とハイフン"-"、
アンダースコア"_"、かっこ"()"以外を削除したいです。
(文字バケを削除したいので、全角を半角に変える方法ではありません)

Forで各行、各セルの文字をIfで分岐すればいいかと思いますが、
上に書いた条件で分岐するにはどうすればいいでしょうか?
341 :名無しさん@そうだ選挙にいこう2011/09/11(日) 05:55:29.81
次のような品物と価格の一覧があります
ringo 110
mikan 100
itigo 200

実際は次のようにセルに入力されています
'ringo 110.111
'mikan 100.100100
'itigo 199.999

機械が吐き出したデータなのですがこれらを一度にまたは
マクロかVBAで見えている通りの値に変更したいのです。
アイデアありましたらお願いします
342 :名無しさん@そうだ選挙にいこう2011/09/11(日) 08:04:58.97
>>341
関数じゃいけないの?
ちなみに'をとるのはなんか計算をさせればOK。例えば1をかけるとか。
343 :名無しさん@そうだ選挙にいこう2011/09/11(日) 08:07:50.65
>>341
後ろの数値は前の文字と分割(区切り)を行った後セルの書式を標準→数値
(小数点の桁→0)に設定すれば表示上は上の一覧のようになります。
また、値自体を整えたいというのであればROUND関数を使えばよいかと。
344 :名無しさん@そうだ選挙にいこう2011/09/11(日) 08:40:36.76
>>340
どのような削除方法を想定しているかわからんけど
1文字づつ見て分岐なら Like演算子 かな?
If Moji Like "[-_()A-Za-z0-9]" Then
とか

>>341
見えている通りの値に変更なら
Range("A1").Value = Range("A1").Text
とかだと どうだろうか?
345 :3402011/09/11(日) 14:11:15.53
>>344
ありがとうございます。
セル内の文字を削除する方法が分からなかったので、
If MOJI Like "[-_()A-Za-z0-9]" Then CHIKAN = CHIKAN & MOJI
で痴漢しました。
346 :名無しさん@そうだ選挙にいこう2011/09/11(日) 14:22:38.15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル 背景色 変更

セルのフォントの色や、背景色はセルに入れる
関数からは設定できませんか?
VBAのみでしょうか
347 :名無しさん@そうだ選挙にいこう2011/09/11(日) 15:05:24.23
>>346
条件付書式は?
348 :名無しさん@そうだ選挙にいこう2011/09/11(日) 15:22:41.32
>>347
トンです。
条件付き書式だと、0と””(空白)を区別してくれなかったりするので
if文かで出来ないかなと思いまして。
349 :名無しさん@そうだ選挙にいこう2011/09/11(日) 15:40:17.78
>>348
区別はできるよ?数式を用いれば簡単
350 :名無しさん@そうだ選挙にいこう2011/09/11(日) 15:57:48.67
エクセル2010で見積を作っています。
見積もり番号を自動で入力出来るようにしたいのですが、
Y1109111555
Y(自分の名字)11(2011年の11)0911(9月11日)1555(15時55分)といったように入力しています。
これを関数やマクロをつかって自動的に入力する方法はありますか?
352 :名無しさん@そうだ選挙にいこう2011/09/11(日) 16:17:03.65
>>350
関数は無理。マクロはワークシートのイベントを使えば出来るけど・・・・
351 :名無しさん@そうだ選挙にいこう2011/09/11(日) 16:02:13.13
TODAY()とTIME()をTEXT()で適当に書式つけてくっつける
353 :名無しさん@そうだ選挙にいこう2011/09/11(日) 16:17:42.32
>>351
見積もり番号が変わるから、変数は無理
356 :3502011/09/11(日) 16:24:38.50
返事ありがとうございます。
関数で自動的に入るように出来れば、
後はコピー、貼り付け(値)で値値にしようと思ってるのですが、
関数ではやはりむりですか?
357 :名無しさん@そうだ選挙にいこう2011/09/11(日) 16:50:35.73
>>356
なら大丈夫。

="Y"&TEXT(NOW(),"yymmddhhmm")
358 :3502011/09/11(日) 17:31:21.90
>>357
ありがとうございました!
見積番号の自動割り当てができました!
とても便利です。
そこでもう一つ質問なんですが、
マクロ実行ボタンを作ってコピー&ペーストで値を決めているのですが、
現在のマクロボタンはセルを指定してボタンを押さないとセルが別の場所にあるとそのセルをコピーアンドペーストしてしまいます。

Sub 見積完了()
'
' 見積完了 Macro
'

'
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

現在のvbaはこのようになっているのですが、ここに セルI5 をボタンを押せばどこにポインタがあっても実行できるように出来ないですか?
よろしくお願いします。
360 :名無しさん@そうだ選挙にいこう2011/09/11(日) 18:08:40.92
>>358
これでどう。同じ場所にペーストすると式が消えるから下にペーストしてる。

Sub 見積完了()
'
' 見積完了 Macro
'

'
Range("I5").Copy
Range("I6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
359 :名無しさん@そうだ選挙にいこう2011/09/11(日) 17:59:37.84
結合されたセルの値をクリアしたとき
Worksheet_ChangeのTarget.ValueがEmptyにならず、代わりに
結合セルの個数分のEmptyなVariantを格納したVariantになるため
Target.ValueがIsEmptyに引っ掛かりません
こういう場合、結合セルが空かどうかを判定するにはどうすればいいんでしょうか?
364 :名無しさん@そうだ選挙にいこう2011/09/11(日) 19:36:04.64
>>359
結合セル時の判定なら
 Target.MergeCells = True なら
 IsEmpty(Target.Cells(1,1).Value) で判定させればいいと思う
ただ
セル範囲に対してクリア等の操作された時も 配列になるんで
IsEmpty(Target.Value) じゃ判定できないから
渡されたセルの個数分 調べるしかないような
366 :3592011/09/11(日) 20:06:48.06
>>364,365

そもそもTargetが何を指しているかよく考えてなかったのが敗因でした
1つ1つセルを調べることにします
ありがとうございました
362 :名無しさん@そうだ選挙にいこう2011/09/11(日) 18:59:09.16
可読性重視です
363 :名無しさん@そうだ選挙にいこう2011/09/11(日) 19:35:36.00
セルをSELECTすると何がダメポなの?
367 :名無しさん@そうだ選挙にいこう2011/09/11(日) 20:18:55.44
>>362
Selectすると、可読性は落ちるよ。

   Aさんにリンゴを渡しました

ってのと

   Aさんを椅子に座らせました
   椅子に座ってる人にリンゴを渡しました

っての、どっちが可読性高い?

>>363
・可読性が落ちるから
・処理速度が落ちるから
・Selectionからは入力支援機能が使えず、コードの修正などがしにくいから
・コード修正時に「〜Select」と「Selection〜」の間に別の処理を入れてしまい
 正常に動かなくなるというバグを誘引する原因となるから
etc…
365 :名無しさん@そうだ選挙にいこう2011/09/11(日) 19:53:58.17
For Each r In Target
If IsEmpty(r) Then ・・・・
Next r
こんな感じじゃないかなあ。これだったらセルの個数によらない。
369 :名無しさん@そうだ選挙にいこう2011/09/11(日) 21:09:32.88
Selectを100個使ったところで処理速度なんて全く落ちね〜〜よw
372 :名無しさん@そうだ選挙にいこう2011/09/11(日) 22:49:53.07
だれかApplication.ScreenUpdating = Falseを使わないなんて言ってるの?

>>369が「Application.ScreenUpdating = Falseを使うなら、Selectを100個使ったところで〜」という
話をしているなら誰も突っ込まないが、Application.ScreenUpdating = Falseを使うならという
前提で話をしていない以上、使わない場合の指摘を受けるのは当然のことだよ
370 :名無しさん@そうだ選挙にいこう2011/09/11(日) 22:28:32.60
残念、ハズレ

描写を止めたり、対象シートを非アクティブにしてなら処理速度落ちないけど
普通にアクティブシートで描写を止めずにSelect変更しまくると3GHzのCPUでも処理速度落ちます

描写変更の多い処理ではScreenUpdatingで描写を止めて処理速度の向上を図るなんてのはもはや常套手段だが
それは何故かって言うと描写変更ってのは以外と処理時間を喰うからであり、選択セル変更ってのは
その描写変更を伴う処理の一つなんですよ
371 :名無しさん@そうだ選挙にいこう2011/09/11(日) 22:36:18.48
>>370
Application.ScreenUpdating = Falseを使わない理由を知りたい
373 :複乳2011/09/11(日) 22:53:20.59
Sub セシウムさん()
Dim StartTime, StopTime, うんこ
StartTime = Time
うんこ = 1
If うんこ = 1 Then
Columns("B:B").Select
Selection.ClearContents
For i = 1 To 100
Cells(i, 1).Select: Selection.Copy
Cells(i, 2).Select: ActiveSheet.Paste
Next
Else
Columns("B:B").ClearContents
For i = 1 To 100
Cells(i, 1).Copy Destination:=Cells(i, 2)
Next
End If
StopTime = Time
StopTime = StopTime - StartTime
MsgBox Second(StopTime) & "秒"
End Sub

あまり変わらんような希ガス・・・
374 :名無しさん@そうだ選挙にいこう2011/09/11(日) 23:25:26.06
×Time
○Timer
◎GetTickCount
377 :名無しさん@そうだ選挙にいこう2011/09/12(月) 03:54:26.40
>>374
論外
376 :名無しさん@そうだ選挙にいこう2011/09/12(月) 00:10:15.60
Book1xlsにマクロを書く
Sheet1をSheet1.csvで保存

このとき、Book1.xlsをアクティブにしたままSheet1.csvを保存することって出来ないの?
379 :名無しさん@そうだ選挙にいこう2011/09/12(月) 06:28:48.73
>>376
出来るけど、無駄で冗長で無意味なだけ

処理の間表示の更新を止めておき、処理の最後でBook1.xlsをアクティブにしてから
表示の更新を再開すれば、処理中にBook1.xlsのアクティブが維持されず
非アクティブになることがあろうと、見た目も結果も何も変わらん

まあActiveWorkbook.〜」的なコードを書いていると結果が変わってくるが
この手の処理でActiveWorkbookを使うこと自体が間違いなので、もしそうなら改めるべきは
Book1.xlsが非アクティブになることではなく、ActiveWorkbookを使うことだ
466 :3762011/09/19(月) 21:47:07.26
>>379
?この手の処理でActiveWorkbookを使うこと自体が間違い
?改めるべきはBook1.xlsが非アクティブになることではなく、ActiveWorkbookを使うこと

?と?は一貫性があるの?
難し過ぎてワケワカメ・・・

んで本題
↓だと保存後Sheet1.csvになってBook1.xlsが無くなるけど、
どこを変えればいいの?

Sub CSVで保存()
  Sheets("Sheet1").Select
  ActiveWorkbook.SaveAs Filename:="D:\DATA\Sheet1.csv", _
  FileFormat:=xlCSV, CreateBackup:=False
End Sub
380 :名無しさん@そうだ選挙にいこう2011/09/12(月) 06:54:36.48
Timeじゃ秒までしか計測できないんじゃないの?
普通はGetTickCountよりtimeGetTimeだと思うが。
381 :名無しさん@そうだ選挙にいこう2011/09/12(月) 07:26:01.67
timeGetTimeは、環境によって精度が高い場合と低い場合がある
GetTickCountの精度は、最良環境のtimeGetTimeには敵わないが
どんな環境でもコンスタントにそこそこの精度を発揮する
394 :名無しさん@そうだ選挙にいこう2011/09/12(月) 14:03:53.40
>>381
>>どんな環境でもコンスタントにそこそこの精度を発揮する
おまいさんはどんな環境やねんwww
395 :名無しさん@そうだ選挙にいこう2011/09/12(月) 16:06:40.51
>>394
GetTickCountがミリ秒の精度があると勘違いしてるんじゃね?
そんで環境によってtimeGetTimeの精度が悪くなることだけは珍しく知っていたってことだな。
382 :名無しさん@そうだ選挙にいこう2011/09/12(月) 09:18:30.01
精度が低いときはtimeBeginPiriodとtimeEndPirodと組み合わせる。
駄菓子菓子、普通はTimerで十分だ。
分解能はどれも同じだよ。
所詮他の割り込みとか入るから完璧な精度は無理。
383 :名無しさん@そうだ選挙にいこう2011/09/12(月) 09:29:39.62
分解能が同じなのはGetTickCountとTimerの話ね。
どちらも1/100秒程度の精度しかない。
390 :名無しさん@そうだ選挙にいこう2011/09/12(月) 13:37:00.08
おまいさんよりはマシじゃないんだよな?w
>>380以降、この件に関して俺に反論してるやつ以外はほとんど俺の書き込みだ。
昔のパソコンはTimerもGetTickCountも分解能はほぼ同じだと記憶してたので>>383を書いたが
今のパソコンで実際調べたらGetTickCountが一番分解能が低いじゃねーかw
386 :名無しさん@そうだ選挙にいこう2011/09/12(月) 11:57:07.98
>385
そのための「総合相談所」ですよ!
ただし、はじめにこのスレの>1-5を読んでくださいね。
388 :名無しさん@そうだ選挙にいこう2011/09/12(月) 13:13:51.11
上の頭に下を書くように。
Private Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
Private Declare PtrSafe Function timeGetTime Lib "winmm.dll" () As Long
Private Declare PtrSafe Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long
Private Declare PtrSafe Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long

Sub 分解能調べ()はパソコンの性能によって適宜NNの値を変えること。
俺のはCore i7-2600であのような数値にしてる。
403 :名無しさん@そうだ選挙にいこう2011/09/12(月) 19:55:15.57
>>388
コンパイルエラーになるよ? by 2007
405 :名無しさん@そうだ選挙にいこう2011/09/12(月) 20:31:39.86
>>403
PtrSafeを外してみたら?
俺は64bitのExcel2010なんだが、32bitのExcelでPtrSafeを書いていいものか正直自信がなかった。
t.tanaka氏のサイトに32bitのExcelでPtrSafeを書いても無問題みたいなこと書いてあったもんでそれを信じた。
408 :名無しさん@そうだ選挙にいこう2011/09/12(月) 20:44:10.67
>>405
PtrSafeをデリったら動いた。
けど、この結果の見方がワケワカメ‥‥
410 :名無しさん@そうだ選挙にいこう2011/09/13(火) 10:46:36.20
>>408
同じデータがいっぱい続いて、変わるとき大きく変わるのは分解能が悪いってことだよ。
Windows7(64bit)での分解能(割り込み)はGetTickCountが1/64秒、Timerが1/256秒、timeGetTimeが1/1024秒ってことだろう。
たしかVistaじゃどれも大差なかったような記憶があるが。
コードは下の方が良かったか。
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Declare Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long
Private Declare Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long
Sub 分解能調べ()
  Dim i As Long, j As Long
  Const N As Long = 10000000, NN As Long = 10000
  ReDim a(1 To N / NN, 1 To 3)
  timeBeginPeriod 1 'おまじない(俺の環境では効いてない) 
  For i = 1 To N
    If i Mod NN = 0 Then
      j = j + 1
      a(j, 1) = Timer
      a(j, 2) = GetTickCount / 1000
      a(j, 3) = timeGetTime / 1000
    End If
  Next
  Range("A1").Resize(, 3).Value = Split("Timer GetTickCount timeGetTime")
  Range("A2").Resize(j, 3).Value = a
  timeEndPeriod 1
End Sub

timeBeginPeriodはWindows7ではどうも効いてないようだ。
1000にしても変わらんし。
393 :名無しさん@そうだ選挙にいこう2011/09/12(月) 13:57:36.18
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 (excel 小数点 変換) (excel 合計数 変換)


こんにちは。excelで割合(パーセンテージ)を整数に変更する方法をご教授ください。

http://i.imgur.com/Bjhtl.jpg

↑のように、一番右に回答の合計数があり、左側の小数点の部分は回答者が選択した割合を示しています
(この画像では6択ですが、3択・4択などもあります)

この割合で表示されている部分を、一番右の回答合計数に合うように、整数へと変換して表示する方法を探しています。
どうぞよろしくお願いいたします。
396 :名無しさん@そうだ選挙にいこう2011/09/12(月) 17:56:25.88
俺も、環境によってtimeGetTimeの精度がGetTickCountより悪くなることがあるってことだけは知っている。
397 :名無しさん@そうだ選挙にいこう2011/09/12(月) 18:30:44.24
セルの色変えについてなんですが、

・5〜8行 :色なし
・9〜12行:青
・13〜16行:色なし
・17〜21行:青
………

という風にするには条件付き書式をどう設定したらよいでしょうか。
『=MOD(ROW(),2)=0』からの簡単な応用だと思うのですが、
色々試したけれどどうにもうまくいかず…
教えて頂けるとありがたいです。
401 :名無しさん@そうだ選挙にいこう2011/09/12(月) 19:45:45.06
>>397
=MOD(INT((ROW()-1)/4),2)

こんな感じ。
402 :名無しさん@そうだ選挙にいこう2011/09/12(月) 19:47:46.72
>>397
最後のが17〜21ではなく17〜20で良いなら
=MOD(ROW()+3,8)>=4とか=MOD(ROW()-1,8)<=3とか

因みにこれ、Excelの質問ではなく小学校算数の質問だからね
Excelでの除余の出し方が解らないとかならExcelの質問だけど
MODやROWが解っていてこれが解らないってのは
小学校の「余りの有るわり算」と「数の大小」がちゃんと理解出来てないってことになる
少なくともそれらを実生活で応用できるレベルでは理解してないってことだ
409 :名無しさん@そうだ選挙にいこう2011/09/12(月) 23:16:21.83
>>401 >>402
ありがとうございました。助かりました。
398 :名無しさん@そうだ選挙にいこう2011/09/12(月) 19:15:55.76
間違ったときには素直に認めればいいのにねぇ。
プライドばっか高くて絶対に認めないやついるよなぁ。
俺がGetTickCountとTimerの精度が1/100秒と書いたのは間違いだったわ。
そういえば昔も1/16秒の分解能だったよ。
timeGetTimeもそのころの環境ではほぼおなじだったな。
406 :名無しさん@そうだ選挙にいこう2011/09/12(月) 20:32:35.31
バカほど自分のバカには気が付かない。
もちろん404のことだ。
411 :名無しさん@そうだ選挙にいこう2011/09/13(火) 12:14:01.90
消費税がかわったときにダイアローグで入力するようにしたいのです
412 :名無しさん@そうだ選挙にいこう2011/09/13(火) 12:24:13.59
>411
質問の続きはあるのかな?
413 :名無しさん@そうだ選挙にいこう2011/09/13(火) 12:34:29.97
>>412
つぶやきだろ?
414 :名無しさん@そうだ選挙にいこう2011/09/13(火) 12:54:10.56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 ほんのちょっと
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA IF

注文があるとC1に客甲の名前、A7に甲の住所、F1に客乙の名前、D7に乙の住所といった感じです延々書いていく必要があります。
客は大体固定なので予め客の名前と住所を対応させたボックスは用意できます。
名前を記入したらオートで住所が入るようにするにはどうしたらいいでしょう?
415 :名無しさん@そうだ選挙にいこう2011/09/13(火) 12:54:23.58
★質問です。
Excelで単語帳(2列[英・和]×100行[語])を作ったのですが、
そのまま印刷すると、紙の右側が開いたページが大量に発生してもったいないと感じます。
印刷するときだけ、表を1ページ内に折り返して印刷することはできますか?
また、その方法は?

印刷するたびに手動で切り張りすると、単語がこれ以上増えると手間が大変になります。

▼━質問テンプレ ━━━━━━━━━━━━
【1 OSの種類         .】 Windows XP-Professional SP-3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否(可で可能ならば勉強します)
【5 検索キーワード     】 excel 印刷 折り返す
416 :名無しさん@そうだ選挙にいこう2011/09/13(火) 13:06:30.36
>415
元データのシートは2列でずーっと下まで入れていって、
別シート(印刷用シート)に引用する計算式を入れたらいいです。
印刷用シートの方は何行までにしますか?
A列:英語、B列:和訳、C列:区切りの空白列 の3列を一組として、
何行×何組 で1頁分にしたいですか?
417 :名無しさん@そうだ選挙にいこう2011/09/13(火) 14:36:09.20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 参照 文字列 改行 ユーザー定義 値

質問です
参照や関数などで呼び出された値(文字列)を任意の文字数で改行
したいのですがどうやったら出来ますか
418 :名無しさん@そうだ選挙にいこう2011/09/13(火) 15:42:29.35
A1の文字列をA2の文字数で改行する場合
「折り返して全体を表示する」にして
=LEFT(A1,A2)&CHAR(10)&RIGHT(A1,LEN(A1)-A2)
ただしA1の文字数<A2だとエラー
473 :名無しさん@そうだ選挙にいこう2011/09/20(火) 12:45:20.53
>>418
出来ましたー ありがとうございます!
419 :名無しさん@そうだ選挙にいこう2011/09/13(火) 20:59:25.50
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ファイル 作成

やりたい事
Excelで以下の事を行いたいです。
アイディアでもいいので教えてほしいです

例(「|」はセルが分かれている事を示します
1 | a | A | いち
2 | b | A | に
3 | c | B | さん

この状態から、指定のファイルをコピーしてファイル名を「1_a.xls」「2_b.xls」「3_c.xls」と変更
その後、3列目のAやBによって不要なシートを削除
(たとえばAの場合はSheet2,3を削除、BではSheet2,4を削除等)
その後、「1_a.xls」の指定の場所に「1 | a | A | いち」をコピー

できれば一つのマクロ実行でここまでやりたいです。

アドバイスお願いします。
420 :名無しさん@そうだ選挙にいこう2011/09/13(火) 23:41:05.86
指定のファイルをコピーってマクロ実行するたびに指定するの?
>その後、3列目のAやBによって不要なシートを削除
ってどういう法則で削除するの?
>指定の場所に「1 | a | A | いち」をコピー
ってファイルごとに毎回指定するの?
422 :名無しさん@そうだ選挙にいこう2011/09/14(水) 00:20:30.44
>>420
指定ファイルはあらかじめ決まったファイルです
例えばC列の値がA→Sheet2,3 B→Sheet2,4 を削除等 これもあらかじめ決めておきます
(指定はそれ様のセルを作っても、VBAの中に組み込んでも可です)

指定の場所はファイルの決まった場所です
例えば元ファイルのA1を作ったファイル「1_a.xls」のSheet1のA1にコピー等です
424 :名無しさん@そうだ選挙にいこう2011/09/14(水) 13:08:06.47
>>422
こんな感じですかね

Sub bookCopy()
Dim siteiPath As String
Dim siteiWB As Workbook
Dim dataArea As Range
Dim targetRow As Range
Dim newFileName As String

  Set dataArea = ThisWorkbook.Worksheets(1).Range("a1:d3")
     '作業の元になるデータの範囲(1 | a | A | いち〜等のセル)
  siteiPath = "C:\Documents and Settings\user01\デスクトップ\指定ファイル.xls"
     '指定ファイルのフルパス

   For Each targetRow In dataArea.Rows
    Set siteiWB = Workbooks.Open(siteiPath)
     '指定ファイルのコピーを保存(拡張子:xls)
    newFileName = targetRow.Range("a1") & "-" & targetRow.Range("b1") & ".xls"
    siteiWB.SaveAs Filename:=newFileName
     '3列目の文字列に基づいてシート削除処理
    del_sheet Workbooks(newFileName), targetRow.Range("c1")
     '指定の場所(Sheet1のA1)にコピー
    targetRow.Copy Destination:=Workbooks(newFileName).Worksheets("sheet1").Range("a1")
  Next
End Sub

つづく
421 :名無しさん@そうだ選挙にいこう2011/09/14(水) 00:08:46.85
特に何かしたわけではないのですが
「○○.xlsxには読み取れない内容が含まれています。このブックの内容を回復しますか?」
が出てきて、「はい」を押下すると中身の入力値がほぼ消えている状態です

こういうのはファイルが壊れたという認識でいいのでしょうか?
特に直前に何かしたわけではないのですがこういう状態の場合復旧は不可能でしょうか?
XMLもマクロもこれといって入れていません。
423 :名無しさん@そうだ選挙にいこう2011/09/14(水) 10:34:54.51
excel近似曲線の切片が意味するものは何でしょうか.
excelで散布図か何かに対して直線近似式を求めたとします.
その傾きは,x軸に関しての特性を表していると思います.
たとえば,傾きが大きな値であればそのデータはx軸に関して大きく変化しており,傾きが小さければ変化は小さく,x軸に関わらない.など.
しかし,切片の値というのは物理的に何を表すのでしょうか? どういう性質を表すでしょうか.

些細なことでも結構ですので,お考えをお聞かせください.


▼━質問テンプレ ━━━━━━━━━━━━
【1 OSの種類         .】 Windows XP-Professional SP-3
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 近似曲線 直線近似 傾き 切片 
426 :名無しさん@そうだ選挙にいこう2011/09/14(水) 19:39:00.79
>>423
excelの切片というか一般的な切片でいいのですかね??
そういう意味なら
X切片  Y=0の時のXの値
Y切片  X=0の時のYの値  です

文章から y=ax+b の式を思い浮かべたので、bはY切片です

もしこのbが求められないと不便な事があるからじゃないでしょうか

例えば
データ群から近似式を求めて、Xがある一定の値の時のYの値を予想したい時にbの部分がないと求められませんよね?
427 :名無しさん@そうだ選挙にいこう2011/09/14(水) 21:57:12.18
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】(excel 行から列 相対参照)(セル ずらして 参照)

社員が朝昼夜に何を食べたかの年間スケジュール表があって、
そこからデータを抽出して、
別ファイルに社員ごとの表をつくりたいんです。

参考図↓
http://pc.gban.jp/?p=33814.jpg

縦にズラズラ並んでいる元データから、
横3セルごとに改行するには、どんな関数を使えばいいのですか?
428 :名無しさん@そうだ選挙にいこう2011/09/14(水) 22:59:14.29
>427 ふたつ質問
○さんだけ抽出って表は、どこかを1カ所変えるだけでAさん、Bさん、Cさん・・・と切替ができる必要がありますよね?
○さんだけ抽出って表の「Aさん」って表示されているセルはA1セルですか?
429 :4282011/09/14(水) 23:47:17.16
>427
元データシートがSheet1で、抽出先が別シートとし、前提が 428 で書いたとおりとしたら、次の式でいいです。
元データシートのA2セルの式 =MATCH(A1,Sheet1.C1:E1,0)  E1の部分は現物に合わせる
B3セル(1月1日の朝)の式 =OFFSET(Sheet1.$B$2,(ROW()-3)*3,$A$2)&""
C3セル(1月1日の昼)の式 =OFFSET(Sheet1.$B$2,(ROW()-3)*3+1,$A$2)&""
D3セル(1月1日の夜)の式 =OFFSET(Sheet1.$B$2,(ROW()-3)*3+2,$A$2)&""
あとはB3:D3を必要なだけドラッグコピーしてください。
level不足により、次に続く・・
430 :4282011/09/14(水) 23:49:39.73
>続きです
A2セルの数字はAさん、Bさん、Cさん・・・の横方向のシフト位置を示します。
A1セルに抽出したい人の名前を入れると数字が出ます。該当なければ、計算式を入れたセル全て #N/A になります。
以上、LibreOffice3.3 で試してみた結果なので、ひょっとすると動かないかも知れないけど、今Excelが手元にないのであしからず。
431 :4282011/09/15(木) 00:14:12.67
>429でちょっと抜けてた。
B3,C3,D3の各計算式は、抽出先シートへ です。元データシートの計算式はA2セルだけです。

ついでに &"" は、参照元が文字列だけ、と仮定し、参照元セルが空欄だったときに 0 と表示させないためのものです。
432 :4282011/09/15(木) 01:12:33.81
何を勘違いしてたのか、A2セルの計算式も抽出先シートです。
とにかく、計算式は全部抽出先シートへ、です。
ねぼけてたのか<俺
433 :名無しさん@そうだ選挙にいこう2011/09/15(木) 07:35:17.13
以下のように、例えばクラスの体重とその人数を集計した時に
上位から25%の人は何キロかとかを計算する方法はありますか?

A列 B列
1 体重 人数
2 51kg 3
3 53kg 4
4 56kg 2
・ ・
・ ・
・ ・
434 :名無しさん@そうだ選挙にいこう2011/09/15(木) 10:55:25.44
>433
「上位」って体重の大きい方から考えるの?
それとも、A列の並び(体重の軽い方)で考えるの?
435 :名無しさん@そうだ選挙にいこう2011/09/15(木) 11:24:56.00
>>433
ありますよ

>>434
いつものかまってちゃんなんで親身にならないでいいですよ。
436 :4342011/09/15(木) 11:45:58.47
>435 そうなのか、じゃ
>433 作業列 と match と index を組み合わせる とだけ
437 :名無しさん@そうだ選挙にいこう2011/09/15(木) 19:43:09.72
つーかさ、最近「算数」の質問大杉

算数・数学的な解の求め方を理解している上で
それをExcel上に表現(入力)する方法が解らないとかはこのスレの範疇だが
算数・数学的な解の求め方が解らないって質問はスレ違いだぞ
438 :名無しさん@そうだ選挙にいこう2011/09/15(木) 19:56:38.33
直角三角形の各2辺の二乗の和が斜辺の二乗に等しいのはなぜですか?
440 :名無しさん@そうだ選挙にいこう2011/09/15(木) 21:18:16.60
2万行以上あるセルにhttpから始まるリンクのある行と普通の文字だけの
行があり、そこから文字だけを抽出したいんですがどうすればいいんですか?

なにかプログラミングみたいなことが必要なのかその他のことでできるのか。
よろしくお願いします。
441 :名無しさん@そうだ選挙にいこう2011/09/15(木) 21:32:48.19
>>440
それは数字を除外したすべての文字を抽出したいということかな?
442 :名無しさん@そうだ選挙にいこう2011/09/15(木) 21:33:10.96
マクロの変数で、A1 As Single、A2 As Single、A3 As Single・・・、A35 As Singleと
35個の変数を一度に指定する方法を教えてくださいです。
444 :名無しさん@そうだ選挙にいこう2011/09/15(木) 22:37:16.63
>>442
そういうときは配列使うんだよ

Dim A(1 to 35) As Single

A(1) = 1.2
A(2) = 2.3
A(3) = 3.4
459 :4422011/09/18(日) 20:11:22.20
>>>444
ありがとうございましたです。
445 :名無しさん@そうだ選挙にいこう2011/09/16(金) 11:52:11.77
A1がF1と同じ文字列ならC1にG1の数値を入れるってのをやりたいんですがどうしたらいいですか?
447 :名無しさん@そうだ選挙にいこう2011/09/16(金) 13:18:49.34
>>445
=IF(A1<>F1,□,G1)
もしくは
=IF(A1=F1,G1,□)

※ □にはA1とF1が違う文字列の場合にどうするかを指定してください。
448 :名無しさん@そうだ選挙にいこう2011/09/16(金) 21:33:41.10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel Viewer 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel Viewer 均等割り付け 表示
Excel Viewer 2007でxlsファイルの印刷をしています
書式が均等割り付けに設定されているのに中央そろえで表示されます。
均等割り付けを正常に表示する方法はありませんか。
457 :名無しさん@そうだ選挙にいこう2011/09/18(日) 08:12:31.24
>>448
SP2を入れるとそうなるから再インストすれ
449 :名無しさん@そうだ選挙にいこう2011/09/16(金) 22:59:12.77
Excel Viewerは無料な代わりに、「内容が確認できれば良い」程度の造りで
表示(書式など)に限ってもExcelの全機能を網羅しているわけじゃない

というわけで、「無料のものに多くを求めすぎるな」
「完璧な書式の再現を望むなら、ViewerじゃないExcel使え」程度の
常識的な指摘くらいしか言うこと無いな
450 :名無しさん@そうだ選挙にいこう2011/09/17(土) 01:11:44.55
Excel2007を使用しています

A列に出品日
B列に売れた日を入力しています

A列とB列を比較して、30日以内ならセルの色を変えたいのですがどうすればいいのでしょうか?

日付の書式は「20110917」のように書いています
この書式だと比較できないなら書き換えます

このような図の場合、1は30日以上経過しているので無視
2は30日以内なのでA2かB2に色を付けたいということです

   A出品   B販売
1 20110731 20110917
2 20110910 20110917
451 :名無しさん@そうだ選挙にいこう2011/09/17(土) 02:34:29.63
>>450
日付の入力書式を変えていいなら「2011/09/17」のようにしたらいい
そうすれば単純に B列 - A列 の引き算で経過日数がでる。
セルの色を変えるのは、条件付き書式で

ところで経過日数が30日の時はどうするの?
・30日以上経過しているので無視
・30日以内なので色を付けたい
両方合致するけど...
455 :4502011/09/17(土) 19:57:03.41
>>451
その書式にすれば日付扱いで引き算できたんですね!
やってみます

確かに、あれだと両方入っちゃいますね
以上と以下の使い方を間違えていました
30以下と31以上ですね

即レスどうもです!
452 :名無しさん@そうだ選挙にいこう2011/09/17(土) 07:59:11.56
今週月曜深夜の>409さんを最後に

質問 と 質問への回答 はあっても、
回答へのお礼 がないのはなぜだろう?
453 :複乳2011/09/17(土) 08:03:10.42
>>452
2chだから。
おまいはお礼はあって当然と思ってるようだが、
おまいは質問した、オレは回答した、さあお礼を待ってるぞ。
458 :名無しさん@そうだ選挙にいこう2011/09/18(日) 15:08:24.53
>>453
現実社会でお礼を言われることが無く淋しい思いをしているが故に
ここで僅かでもお礼を言われる可能性に期待して張り切ってる奴が
何強がって澄ましたこと言ってるんだかw
456 :名無しさん@そうだ選挙にいこう2011/09/17(土) 23:58:30.89
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】セル結合 アベレージ

49.85 49.85 49.85
50.00 50.00 50.00
50.15 50.15 50.15
50.30 50.30 50.30
50.55 50.55 50.55
50.80 50.80
50.85 50.85 50.82
50.90 50.90
50.95 50.95 50.92
51.00 51.00 51.00
51.10 51.10
51.15 51.15 51.12

エクセル初心者ですよろしくお願いします。

左端が元データ
上の数字との差が0.15以上ならそのまま
0.05未満だと上との数字の平均でセルを結合して
右端のように表示することは可能でしょうか?
460 :名無しさん@そうだ選挙にいこう2011/09/18(日) 22:54:05.53
A列に時間(15:00)B列に(19:00)があったとして、C列にその間が何分かというのを(240分)自動で表示させたいのですが、何かいい方法ありませんか?
463 :名無しさん@そうだ選挙にいこう2011/09/19(月) 18:15:54.18
複乳の兄です
複乳は先週、肺癌で亡くなりました
短い間でしたがお世話になりました、楽しかったです
皆様もお体にはお気をつけ下さい
との事でした

私からもお礼を申し上げます
皆様、弟に付き合って頂き、ありがとうございました
464 :複乳2011/09/19(月) 18:32:22.33
>>463
こら、勝手に殺すな
465 :名無しさん@そうだ選挙にいこう2011/09/19(月) 19:01:55.67
>>464
不思議な気分です
ありがとう
私もいつかExcelで困った事があれば、寄らせて頂きますね
失礼しました
467 :名無しさん@そうだ選挙にいこう2011/09/19(月) 22:07:55.76
>466 横から失礼
379さんではありませんが、book形式で保存するんじゃなければ
保存したいシートを別ブック(新規ブック)にコピペして、当該ブックをcsv形式で保存する方法が
元ブックはそのまま残るからいいんではないでしょうか?
468 :名無しさん@そうだ選挙にいこう2011/09/19(月) 23:33:31.11
データ中に山田太郎って名前があったら右に2、下に3マスの所に??市××町1-2-3とオートで入れたいんだがこういう処理って出来ますか?
山田太郎が例えばD5にあったらF8に地番が入るように
470 :名無しさん@そうだ選挙にいこう2011/09/20(火) 00:14:55.14
>>468
VLOOKUPって知ってる?
471 :名無しさん@そうだ選挙にいこう2011/09/20(火) 03:44:59.14
>>468
そういう書き方だとD5に山田太郎あるかもしれないがF7にも山田太郎と入る可能性も否定できない
書き方だな。
472 :名無しさん@そうだ選挙にいこう2011/09/20(火) 07:01:50.45
>>470
解決しました
ありがとうございました
475 :名無しさん@そうだ選挙にいこう2011/09/21(水) 01:10:34.07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 名簿 年齢別 色分け
A列:氏名/B列:生年月日/C列:年齢
の表で年齢別に色分けしたいです。
20歳と30歳は青
0〜19歳、21から29歳、31以上は赤
こんな感じで色分けしたいです。
セルの色はAからC列まで(情報が入っているすべての列に色づけ)色をつけたいです。
よろしくお願いします。
481 :復乳2011/09/22(木) 20:30:55.66
>>475
Sub Fukuchichi()
Dim うんこ As Long
For うんこ = 1 To 65536
 If Range("C" & うんこ) = "20歳" Or Range("C" & うんこ) = "30歳" Then
  Range("A" & うんこ & ":C" & うんこ).Select
  With Selection.Interior
   .ColorIndex = 5
  End With
 ElseIf Range("C" & うんこ) = "0〜19歳" Or Range("C" & うんこ) = "21から29歳" Or Range("C" & うんこ) = "31以上" Then
  Range("A" & うんこ & ":C" & うんこ).Select
  With Selection.Interior
   .ColorIndex = 3
  End With
 End If
Next うんこ
End Sub
482 :名無しさん@そうだ選挙にいこう2011/09/22(木) 23:11:17.13
複乳ならぬ復乳か

最初、名前では漢字違いに気付かなかったが、コードで複乳ではないことが一発で解った

本物の複乳のレベルは初心者に毛が生えた程度だが
>>481のコードは、まだ毛も生えてない初心者そのもののコード

複乳はまだまだまともなコードは書けないが、それでも中学生レベルのコードは書く
さすがに>>481みたいな小学生レベルのコードでは、名前欄で気付かなくても
複乳じゃないことは一目瞭然だ
486 :名無しさん@そうだ選挙にいこう2011/09/23(金) 00:53:31.29
>>482
おめーもgdgd言ってないで中学生レベルのコーディング作法教えろよ。
そのくらいのレベルには達してんだろ?
491 :4752011/09/23(金) 08:22:07.00
>>481のうんこの部分をiに変えてやってみました。
20と30に青色がつくのですが、ほかの年齢に色がつきませんでした。
ちなみに年齢は「歳」の文字はつかなくて数字のみで、
「19」や「34」と入力しています。
だから481の年齢の記述の「歳」を消して適応してみたのですが
うまくいくのは20と30の色づけだけです。
どこを修正すればよいのでしょうか??

>>489
詳しくありがとうございます!!
これもとても便利ですね。うまくいきました。
今後、もっと年齢に対する色付けの条件が細かくなる予定ですので
>>481とこちらとどちらがよりよいか検討しつつ活用させていただこうと
思います。丁寧にありがとうございます!
492 :名無しさん@そうだ選挙にいこう2011/09/23(金) 10:15:28.83
>>491
Ifでは「=0〜19」的な条件は書けないので
ElseIf ((Range("C" & うんこ).Value >= 0) And (Range("C" & うんこ).Value <= 19)) Or ((Range("C" & うんこ).Value >= 21) And (Range("C" & うんこ).Value <= 29)) Or (Range("C" & うんこ).Value >= 31) Then
もしくは
ElseIf (Range("C" & うんこ).Value >= 0) And (Range("C" & うんこ).Value <= 19) Then
ElseIf (Range("C" & うんこ).Value >= 21) And (Range("C" & うんこ).Value <= 29) Then
ElseIf Range("C" & うんこ).Value >= 31 Then
って書かなければならないが、他の人も言ってるようにこれでは冗長なのでSelect Case使った方が良い

とりあえず保守性や汎用性を考えなければこれでいいんじゃないの?
Dim row As Range
For Each row In Range("A1").CurrentRegion.Rows
 Select Case row.Cells(, "C").Value
  Case 20, 30: row.Interior.Color = vbCyan ' vbBlue
  Case 0 To 19, 21 To 29, 31 To 150: row.Interior.Color = vbMagenta 'vbRed
 End Select
Next row

普通に考えれば「Case 0 To 19, 21 To 29, Is >= 31」だが、Case節の比較演算は特殊で
「Is >= 31」だと1行目がタイトルでC1に「年齢」って入ってる場合でも、そこまで色付けされるが
1行目がタイトルなのかデータなのか書かれていないし、除外するのも面倒なので「31 To 150」で逃げてる
あと、色は青/赤との指定だが、文字色ならまだしも背景色はあまり濃いと見づらいので、
Blue/Redではなく同系の淡色でCyan/Magentaにしてみた

あとは必要に応じてApplication.ScreenUpdating付けたり定数化したり
493 :名無しさん@そうだ選挙にいこう2011/09/23(金) 13:58:11.69
>>491
Dim うんこ As Longの "うんこ" は、そのまま使ってもいい。
496 :4752011/09/23(金) 15:40:25.25
>>492
うおおおおぉぉぉ!!こんなのをまっていましたああぁぁ!
希望通りの動きですありがとうございます!
ところで、475に上げた例ですと、表はA〜C列までですが
本当はもっと横に長い(列が多い)表です。
列の一番端っこまで色を入れるには、↓のどこを変えればいいのでしょうか??
Dim row As Range
For Each row In Range("A1").CurrentRegion.Rows
 Select Case row.Cells(, "C").Value
  Case 20, 30: row.Interior.Color = vbCyan ' vbBlue
  Case 0 To 19, 21 To 29, 31 To 150: row.Interior.Color = vbMagenta 'vbRed
 End Select
Next row
そして、現在は列の一番初めはA列ですが、これがB列からはじまったり
する場合はどこをかえればいいでしょうか??
よろしくお願いします。

525 :名無しさん@そうだ選挙にいこう2011/09/23(金) 21:58:59.44
>>492 = >>494 = >>501 = >>504 = >>505 = >>508 = >>513 = >>516 = >>519 = >>521 = >>524
強粘着だね
553 :名無しさん@そうだ選挙にいこう2011/09/25(日) 12:22:22.17
>>492
凄いね!そのアイデア。
脱毛しました。
700 :4752011/10/08(土) 23:08:16.13
>>475です。
質問のさいには大変お世話になり、
>>492さんの書いてくれたマクロを使わせていただいています。

さて、475で質問したものに追加したいことが出てきました。
20歳と30歳の人にはあいているセルに「B」と表示させ、さらに、データを別シートに貼り付ける。
それ以外の年齢の人には「A」と表示させ、Bの人たちとは別のシートにデータを貼り付ける。
ということをしたいので、>>492のマクロに加えたものを教えていただけないでしょうか??
よろしくお願いします。
476 :名無しさん@そうだ選挙にいこう2011/09/21(水) 06:29:12.93
>>475
条件付き書式
489 :名無しさん@そうだ選挙にいこう2011/09/23(金) 02:14:03.71
>>475
マクロの他のやり方だけど、>>476の人が言っている条件付き書式のやり方ね

1行目がタイトル("氏名"、"生年月日"、"年齢")、2行目以降にデータが入っているとして、
A2からC2のセルを選択したまま、メニューから書式>条件付き書式を選ぶ

条件1に「数式が」「=OR($C2=20, $C2=30)」
で、条件1の枠にある書式ってボタン押してパターンから青い色選ぶ

おなじく条件2で「数式が」「=$C2<>""」
書式のパターンから赤

これで、C2の年齢欄の数字変えると色が変わるのをチェック

あとは、A2からC2のセルをコピーして、3行目から下のA列からC列に対して
メニューの編集>形式を選択して貼付けで書式にチェックして貼付け
479 :名無しさん@そうだ選挙にいこう2011/09/22(木) 18:42:54.07
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel*2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 描画ツール 色変更 文字色 文字 色 できない 赤 囲

ワードアート等作業中に出る「描画ツール」ですが、赤線四角で囲われている状態です。
描画ツール使用中に文字色、背景色共に変更できません。どの色をどこから選択しても黒以外表示されません。
プレビューも黒です。条件付き書式は未設定です。
アンインストール等はしていません。

よろしくお願いします。。。
480 :名無しさん@そうだ選挙にいこう2011/09/22(木) 20:07:54.48
私の環境では赤線四角で囲われていません。

はい、次の方〜
483 :復乳2011/09/22(木) 23:57:05.71
Sub セシウムさん()
Dim うんこ As Long
For うんこ = 1 To Cells(65536, "C").End(xlUp).Row
If Cells(うんこ, "C") = "20歳" Then
Range(Cells(うんこ, "C"), Cells(うんこ, "C").Offset(0, -2)).Interior.Color = RGB(0, 0, 255)
ElseIf Range("C" & うんこ) = "30歳" Then
Range(Cells(うんこ, "C"), Cells(うんこ, "C").Offset(0, -2)).Interior.Color = RGB(0, 0, 255)
ElseIf Range("C" & うんこ) = "0〜19歳" Then
Range(Cells(うんこ, "C"), Cells(うんこ, "C").Offset(0, -2)).Interior.Color = RGB(255, 0, 0)
ElseIf Range("C" & うんこ) = "21から29歳" Then
Range(Cells(うんこ, "C"), Cells(うんこ, "C").Offset(0, -2)).Interior.Color = RGB(255, 0, 0)
ElseIf Range("C" & うんこ) = "31以上" Then
Range(Cells(うんこ, "C"), Cells(うんこ, "C").Offset(0, -2)).Interior.Color = RGB(255, 0, 0)
End If
Next うんこ
End Sub
484 :名無しさん@そうだ選挙にいこう2011/09/23(金) 00:09:02.90
>>483
これだけ分岐があるのなら、CASE文の方がいいんじゃないか。
まぁ、好みといってしまえばそれまでだが。
487 :4752011/09/23(金) 01:40:59.75
あの…
うんこの部分は何に置き換えたらいいのでしょうか??
488 :名無しさん@そうだ選挙にいこう2011/09/23(金) 02:00:16.93
>>487
AでもBでもcntでも好きにすればいい。
ただFor文のループカウンターだから、慣例的にはiあたりが妥当だと思われる。
490 :名無しさん@そうだ選挙にいこう2011/09/23(金) 03:47:02.66
>>487
ぉぃぉぃ、ツッコミどころはそこじゃねーだろ?w
494 :名無しさん@そうだ選挙にいこう2011/09/23(金) 13:59:55.10
Rowsに対してループ回すとか、なかなか憎いことするじゃねーか。
495 :名無しさん@そうだ選挙にいこう2011/09/23(金) 15:32:08.12
自画自賛w
501 :名無しさん@そうだ選挙にいこう2011/09/23(金) 17:43:51.63
直後に質問者からも希望通りだと絶賛されていると、>>495は悔し紛れにしか見えないねw
質問者から扱き下ろされるような内容なら、>>494は自画自賛に見えなくもないが
自画自賛なんかしなくても絶賛取れる内容だと、逆に>>495書いてる奴が哀れw
497 :4752011/09/23(金) 15:45:23.29
あっ、失礼しました。
データが入ってるすべての列に色がつくのですね!
498 :名無しさん@そうだ選挙にいこう2011/09/23(金) 16:06:12.80
セルの色はAからC列まで(情報が入っているすべての列に色づけ)色をつけたいです

って書いてたのはドコの独逸だよ(プンプン
499 :名無しさん@そうだ選挙にいこう2011/09/23(金) 16:47:39.22
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

質問画像
ttp://ichigo-up.com/cgi/up/qqq/nm42108.png

質問お願いします。
上の画像のような集計シートを10枚作り、
さらに各シートの総合計シートを作成し、データを集計しようと思っています。

総合計のシートも画像と全く同じ形で、各セル内の入力値を合計しようと思います。
例えば各シートの1-fの入力値を合計し、
総合計の1-fのセルに合計値を表示させる感じです。

Σボタンの計算式の埋め込み程度は出来るのですが、その方法で行った場合、
各シートのセル内に1回1回クリックして回らなければならず、
セルの数も100ヶ以上・・。
計算式を埋め込むのは不可能ではないですが、労力が尋常ではありません。
なにかある程度一括して各セルごとの計算値を登録できる方法って無いのでしょうか・・?
500 :名無しさん@そうだ選挙にいこう2011/09/23(金) 16:57:04.06
>>499
1箇所くし刺し演算をした後、他の場所(セル)にコピーすればいいだけじゃないの?
http://kokoro.kir.jp/excel/3d.html
502 :名無しさん@そうだ選挙にいこう2011/09/23(金) 18:39:23.03
>>500
ありがとうございます。
簡単に作成することが出来ました!
504 :名無しさん@そうだ選挙にいこう2011/09/23(金) 18:54:37.55
>>復乳
悔しかったのは解るが、いい加減ひっこめ
505 :名無しさん@そうだ選挙にいこう2011/09/23(金) 19:22:36.44
実際良い発想だと思うけどな。
普通ならFor Each使っても、C1,C2,C3ってループにしそうだが
A1:C1,A2:C2,A3:C3ってループにすることで、ループ内で毎回
Range(Cells(うんこ, "C"), Cells(うんこ, "C").Offset(0, -2))
的な色付け範囲取得処理をする必要性を廃している。

なんて書くと、また嫉妬した奴に自画自賛とか言われそうだなw
自分の内に確たる自信のある奴は、他人の良いところは素直に
認められるが、自分の内に確たる自信の無い奴は、他人を見下す
事でしか自分を慰められないから、いつも悪態ばっかり付いてるんだね。
506 :名無しさん@そうだ選挙にいこう2011/09/23(金) 19:28:09.02
自演じゃねーの?
復乳を目いっぱい馬鹿にしてるが、自分なのでいくらでも馬鹿にできるってなもんじゃね?
自分じゃなければ普通そんなに馬鹿にしねーよ。
For EachとSelect Caseはごく当たり前の書き方だな。
プロがFor Nextで書いたら不合格レベルだろう。
508 :名無しさん@そうだ選挙にいこう2011/09/23(金) 19:43:48.30
>>506
合格レベルのコードを晒した上で言わないと、なんの説得力もない嫉妬にしか見えない件について
507 :名無しさん@そうだ選挙にいこう2011/09/23(金) 19:34:24.35
何度も解説するなって
回答者が質問者になってドヤ顔されるのもなんだかなぁ〜って感じ
509 :名無しさん@そうだ選挙にいこう2011/09/23(金) 19:53:13.03
嫉妬もなにも、だれでも普通For EachとSelet Caseで書くよ。
人によって文字列除外で数値判定を書くか書かないかの違いだろ?
511 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:02:21.80
Selet Caseならできるのに、Ifだとできないことってある?
512 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:04:51.37
>>511
たとえば一行でOr判定のショートサーキット
517 :5112011/09/23(金) 20:29:22.19
>>512
ありが?。
ググったけどよくわからん。
Ifでも、短絡評価(Short-circuit)型っていうのが出てくるので
もうちょっと具体的に書いてほすぃ〜
513 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:07:54.20
For EachとSelet Case使ってることだけを以て絶賛してる奴なんていねーよ
よく見ろ、絶賛されているのはFor Eachの親オブジェクトの作り方だ
何を勘違いしてるんだか恥ずかしいw
514 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:20:22.83
全く同じ勘違いをする奴が何人も居る分けない。
なんだかんだ言ってるのは嫉妬した約1名だけだろ。
515 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:22:26.21
Range("A1").CurrentRegion.Rowsなんてごく普通ですよ。
言っとくけど自画自賛とか言ってるのは俺じゃないからね。
516 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:26:31.10
普通ですよ、俺じゃないですよ
言い訳すればするほど、その逆が真実であることがありありと解りますね
518 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:30:40.45
また妄想が始まったね。
病院へ逝けって前から言われてない?
519 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:45:49.12
過去ログ持ってるので、ちょいと検索してみた。

CurrentRegion.Rows.Countでの行数取得とかは何度かあるが
現スレと過去97スレ、延べ90'000レス以上の中で、本件以前に
CurrentRegion.Rowsに対してFor Eachループを回すコードが貼られた回数・・・


   0 回


・・・・・普通ねぇ、ふ〜ん、へぇ〜w

For Eachループどころか、.Countでの行数取得以外でCurrentRegion.Rows使っているものすら皆無。
CurrentRegion.Rowsで検索した全件がCurrentRegion.Rows.Countで、
それすら延べ90'000レス以上の中で十数件という事実。

こういう事実が出ちゃうと、どっちが妄想かハッキリしちゃうね( ̄ー ̄)
530 :名無しさん@そうだ選挙にいこう2011/09/23(金) 22:13:10.61
>>525
をいをい、>>519以降の3つは合ってるけど、その前は違うぞ。
520 :名無しさん@そうだ選挙にいこう2011/09/23(金) 20:56:10.28
すごいね〜、過去97スレw
ご苦労様。
君は最近その書き方覚えたのかな?
ここ以外ではごく普通だけどな。
521 :名無しさん@そうだ選挙にいこう2011/09/23(金) 21:05:21.70
別に97スレを読み返したり、1スレ1スレ検索したわけではなく
専ブラの過去ログ列挙機能とログ検索機能で数秒で検索して
たった十数件の結果を十数秒程度で確認しただけのことだから
全く苦労なんてしてないけど( ̄ー ̄)

こんな簡単で初歩的な検索を苦労だと思ってるなんて、
やっぱこの子ソフトウェアの扱いに長けてないんだね。
523 :名無しさん@そうだ選挙にいこう2011/09/23(金) 21:41:29.58
>>521は10年以上前の他サイトの過去ログは持ってないの?
持ってればバンバンヒットするかもよ。
522 :名無しさん@そうだ選挙にいこう2011/09/23(金) 21:12:30.45
2ちゃんというか、ここのスレが世の中の標準と思ってる方もいらっしゃるのね
524 :名無しさん@そうだ選挙にいこう2011/09/23(金) 21:42:14.62
そういう飛躍した表現でバカにしたつもろになってるところ悪いが、
ここが世の中の標準だなんて言ってる奴は一人も居ない。

しかし、アングラマイナーで、便所の落書きなんて言われてるのが
的を射ていたのは遠い過去の話で、都合が悪くなると過去の2chを引き合いに出し
2chを軽視、蔑視、特別視することを書く奴が少なくないが、今の2chは
世の中の標準、少なくともネット上の標準からかけ離れたものではないのは間違いない。

そこにおいて、普通と言い張る方法が一度も出てきてないのは不思議だねぇ。
たとえ2chが普通じゃないとしても、2ch以外で件の方法が頻繁に使われている
実例を一つも挙げられないのも不思議だねぇ。

普通だ普通だと顔を真っ赤にして言い張るより、本当に普通なら、
件の方法が頻繁に使われている実例なんて腐るほどあるんだろうから、
それを挙げまくれば相手にぐうの音も出させない最高の反論になるのにねぇ。
もちろん、画期的だとか言ってる奴は居ないから、1件や2件の例を出しても
反論にはならないけどね。
526 :名無しさん@そうだ選挙にいこう2011/09/23(金) 22:04:40.17
よろしくお願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ピボットテーブル 並び順

営業店別に収益額を集計したピボットテーブルを作成するのですが、
「合計 / 収益額」の列を金額の大きい順に並べ替えたいです。
検索しましたところ2007ではできるようなのですが、なんとかして2003でもできないでしょうか。

現在は一旦ピボットテーブルをコピーして値貼り付けし、「降順」ボタンをクリックしています。
ただそうすると元の表に明細が追加されるたびに新たなピボットテーブルを作成し直す
面倒があるので、値貼り付けをせずピボットテーブルのまま、どうにかできたら助かります。
よろしくお願いします。
547 :名無しさん@そうだ選挙にいこう2011/09/24(土) 06:10:17.79
>>526
「合計/収益額」の部分のセルを選択しながら、並び替えボタンの降順を押せばいいだけだよ。
選択するのは金額部分ね。ボタンは
http://www.eurus.dti.ne.jp/~yoneyama/Excel/sort.html
のツールボタンから実行する、の部分で囲ってあるやつでおk
548 :5262011/09/24(土) 10:55:36.59
>>547
うおおおお、できました。ありがとうございます。
できてみると、何を難しく考えていたのかって感じなんですね…
ピボットテーブルってだけで嫌だ嫌だと頭を固くしていたみたいです、助かりました!
527 :495、506、509、515、518、520、5222011/09/23(金) 22:08:31.47
今For EachでCurrentRegion.Rowsが使われている例を鋭意検索中
バンバンだしてやるから覚悟しろよヽ(`Д´)ノ
532 :名無しさん@そうだ選挙にいこう2011/09/23(金) 22:29:34.88
>>527
おい、よくみたら五つは俺の発言番号かよw
最初と最後は俺じゃねーぞ
まぁ狂ってる人に何言っても無駄だからどうでもいいや。
531 :名無しさん@そうだ選挙にいこう2011/09/23(金) 22:21:28.10
論破されぎみになってきたので、自演にこじつけて誤魔化そうってハラですね
虚しすぎる…
534 :名無しさん@そうだ選挙にいこう2011/09/23(金) 22:36:38.61
自分の思いつかなかったことを他人にやられたとき
嫉妬したり、強がって「そんなの普通」だとか「俺だって知ってる」とか
言ってるようではまだまだ青い
感心して素直に認め、自身の精進の糧とするのが大人

さてあなたは大人かな?青二才かな?
自分の主張が事実か否か、嫉妬から来るものか否かは、
自分自身が一番良く解ってるよね?
535 :名無しさん@そうだ選挙にいこう2011/09/23(金) 22:39:03.56
61, 75, 92, 121, 124, 205, 298, 330, 338, 354, 367, 370, 372, 378,
381, 384, 391, 396, 402, 437, 439, 449, 482, 492, 494, 501, 504,
505, 508, 513, 516, 519, 521, 524, 530, 531, 533, 534
539 :名無しさん@そうだ選挙にいこう2011/09/23(金) 23:08:43.71
こらこら
それにしても>>535は正直に自分で書いたのだろうか?
543 :名無しさん@そうだ選挙にいこう2011/09/23(金) 23:25:27.68
>>535=539だとしたらかなり恥ずかしいなw
おそらく全部同一人物だとでも言いたくて的外れな列挙をするも
馬鹿馬鹿しすぎてネタ扱いされて、焦って>>539とかなw
536 :名無しさん@そうだ選挙にいこう2011/09/23(金) 22:48:59.90
535のようなデータがあり、A1〜A3セルに貼ってから
各セルに振り分けるにはどうすればいいですか?
540 :名無しさん@そうだ選挙にいこう2011/09/23(金) 23:19:12.69
なんか的外れすぎて、奴の悔しがり方の程がありありと解るな。
541 :名無しさん@そうだ選挙にいこう2011/09/23(金) 23:20:24.28
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(レベル低)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 2003 win7 コード 消える

1)最近PCがxpからwin7に変わった。
2)win7にはoffice2010がインストールされていたが、2003をインストールした。
3)xp 2003で使用していたモジュールとpersonal.xlsをwin7にコピーした

上記でwin7で2003を使っていますが、マクロのコード名が変わってしまうことがあります。
(最後の方から文字が消えていたり、消えた際に文字化けしていることがあるようです)

ユーザー設定ボタンにマクロを登録して使っているのですが、見つからないエラー
が出ることもあり、大変不便です。
解決方法ありましたらご教授ください。
542 :名無しさん@そうだ選挙にいこう2011/09/23(金) 23:22:04.03
本文長すぎるため、>541の続きです。

もう一点、2010形式でうっかり開いてしまったときに、デフォルトを2003に戻すのですが、
またうっかりエクスプローラ?などでプレビュー機能が勝手に働いて2010に
デフォルトが戻されてしまいます。
どうにかならないでしょうか。

よろしくお願いします。
545 :名無しさん@そうだ選挙にいこう2011/09/24(土) 00:06:52.01
535ってレス番だったのか。
レス番として見るとだいぶ前の方に俺のが2個混じってるな。
546 :名無しさん@そうだ選挙にいこう2011/09/24(土) 00:56:38.88
雑談は↓で。

【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://hibari.2ch.net/test/read.cgi/bsoft/1151651536/l50
549 :名無しさん@そうだ選挙にいこう2011/09/24(土) 14:26:52.74
492はVBA厨
人間は己に不都合な内容の話が始まると必要以上に喋りはじめる
自画自賛を悟られないよう501以降怒涛のカキコがそれを物語っている
他の板ならIDを変え他人のふりをして自演に酔ってることだろう
それもひとつの楽しみ方だから否定はしない
550 :名無しさん@そうだ選挙にいこう2011/09/24(土) 21:24:44.03
自分に反してるカキコは全て同一人物と思いたいのかも知れないが
実際はお馬鹿な自分が皆から叩かれ弄られ嘲笑われている現実にも気付いた方がいい。
598 :名無しさん@そうだ選挙にいこう2011/09/30(金) 19:34:12.95
>>582
ヒント:>>550
551 :名無しさん@そうだ選挙にいこう2011/09/24(土) 23:11:46.78
ときどきExcelが関数を計算してくれないんです。
そのときは大量のセルに一度にたくさんオートフィルで関数を入力してるんですが
どうもメモリが少ないのが原因とか思いはじめました。
これってあってますか?
552 :名無しさん@そうだ選挙にいこう2011/09/25(日) 01:45:04.58
ネット上のcsvファイルをExcelに取り込むマクロを作りたいのですが、
ウェブからデータ取得するときの、
新しいマクロの記録を開始してデータ−外部データの取り込み−新しいWebクエリ
というふうなやり方で出来る方法があればご教示くださいませ
554 :名無しさん@そうだ選挙にいこう2011/09/25(日) 13:53:58.32
492の凄さは、Range("A1").CurrentRegion.Rowsとすることにより
row.Interior.Color =カラーネームとしたとき.Offset(0, -2)なんて
初心者が書くような記述をなくしてるところにあるのだが
ご理解いただいているだろうか
558 :名無しさん@そうだ選挙にいこう2011/09/25(日) 23:01:27.47
>>554
良く解らない。
なんでそうなるの?
566 :名無しさん@そうだ選挙にいこう2011/09/28(水) 04:11:05.51
>>554
良く解らない。
なんでそうなるの?
556 :名無しさん@そうだ選挙にいこう2011/09/25(日) 22:25:00.51
Excel2007で作った文書をPDFにするには
どうすれば良いでしょうか?
557 :名無しさん@そうだ選挙にいこう2011/09/25(日) 22:29:59.69
559 :名無しさん@そうだ選挙にいこう2011/09/27(火) 13:25:54.11
      A           B
1  あいうえお     =IF(A1="うえ","◎","X")


セルA1に「うえ」という文字列があったら◎としたいのですが、
この場合どういった関数なり数式にすればいいのでしょうか?
562 :名無しさん@そうだ選挙にいこう2011/09/27(火) 18:15:44.00
A B
1 9/27 +15165
2 9/27 -15151
3 9/27 -15151
4 9/28 +15515
5 9/28 -15545

日付でマイナスだけカウントしたいですよろしくお願いします
563 :名無しさん@そうだ選挙にいこう2011/09/27(火) 18:58:23.86
>>562
「日付で」の意味が分かんないっす。あとカウントってのは個数でいいの
564 :名無しさん@そうだ選挙にいこう2011/09/27(火) 19:05:04.89
>>563
すみません
9/27 2
9/28 1

見たいに日付毎にマイナスの数をカウントしたいです
565 :名無しさん@そうだ選挙にいこう2011/09/27(火) 19:16:49.52
>>564
C列に=IF(B2<0,1,0)っていれてピボットテーブルで集計したらいいんでは
567 :名無しさん@そうだ選挙にいこう2011/09/28(水) 06:36:02.46
今解説すると、件の負け犬君がまた出てきて自演だ自画自賛と大騒ぎするので
とりあえず次スレになるまで自分で調べて、それでも解らなかったら次スレで聞いて
582 :名無しさん@そうだ選挙にいこう2011/09/29(木) 21:06:25.60
>>567
あんたは朝早くから昼間から夕方から夜中まで24時間体制で書いてるね。
趣味とか無いの?
569 :名無しさん@そうだ選挙にいこう2011/09/28(水) 21:11:20.17
エクセル2003にあった置換は、2007には無いの?
570 :名無しさん@そうだ選挙にいこう2011/09/28(水) 21:21:58.02
>>569
CTRL+H?
575 :名無しさん@そうだ選挙にいこう2011/09/28(水) 22:46:19.45
>>569
双眼鏡。
578 :5692011/09/28(水) 23:47:50.71
>>570 >>575
?クス
571 :名無しさん@そうだ選挙にいこう2011/09/28(水) 22:17:48.38
すいません、質問です。
例えば

A 20
B 10
C 15
A 25
C 40

という表があってこれを

A 45
B 10
C 55

と、すっきりさせたいのですが、
どうすればよいでしょう?

Excel2010です。
572 :名無しさん@そうだ選挙にいこう2011/09/28(水) 22:35:45.31
>>571
さくっとピボットテーブル。
573 :名無しさん@そうだ選挙にいこう2011/09/28(水) 22:38:26.92
集計
574 :名無しさん@そうだ選挙にいこう2011/09/28(水) 22:46:13.10
>>572
>>573
ありがとうございます。
もっときちんと知識をつけてから調べるべきでした。
失礼しましたm(__)m
576 :名無しさん@そうだ選挙にいこう2011/09/28(水) 22:47:48.34
統合や集計はいまいち。
ピボットだな。
581 :名無しさん@そうだ選挙にいこう2011/09/29(木) 07:02:15.52
>>576
更新さえ教えりゃ無問題。
データソースの更新(範囲の変更)は名前定義で作っておけばよい。
更新も覚えられない人にはマクロにしてボタンを押させてもよい。
577 :名無しさん@そうだ選挙にいこう2011/09/28(水) 23:07:44.93
ピボットは便利だけども、使い方を教えるのがメンドイという欠点がある。
579 :名無しさん@そうだ選挙にいこう2011/09/29(木) 02:42:48.77
セルA1: 「犬」
セルB1: 「猫」
と入力している場合に、

セルC1: 「犬と猫」 、

2つの文字列の間に任意の文字(この場合は"と")を加えた上で別のセルに出力したいのですが
これが可能な関数あるいはその他の操作はありましたら教えていただけるとうれしいです
580 :名無しさん@そうだ選挙にいこう2011/09/29(木) 03:15:04.81
>>579
C1=A1&"と"&B1
583 :名無しさん@そうだ選挙にいこう2011/09/29(木) 21:29:15.69
>>580
アドバイスありがとうございます
584 :名無しさん@そうだ選挙にいこう2011/09/29(木) 23:15:22.50
なんでもピボットで済ませようとするのは中小企業しか知らない輩
ゼロ省略が出来ない、ファイルサイズが肥大する、VBAを併用しなければ細かなレイアウトを指定できない
はっきり言って使い物にならない
586 :名無しさん@そうだ選挙にいこう2011/09/30(金) 00:16:40.30
>>584
色々な企業に精通なさっているハケンさんこんばんは
587 :名無しさん@そうだ選挙にいこう2011/09/30(金) 00:46:35.10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel マクロ 背景色
VBAを使用することが出来ない場合に背景色をコントロール出来ますか?
セルI15の値によってセルO15の背景色を変えたいと思っています。

=IF(LEN(I15) > 5, RANGE("o15").INTERIOR.COLORINDEX=3, "")

このようにしてもエラーとなります。
マクロだけでは無理なのでしょうか?
588 :名無しさん@そうだ選挙にいこう2011/09/30(金) 00:54:57.47
>>587
条件付き書式
589 :5872011/09/30(金) 08:07:26.65
>>588
こんなのがあったとは・・・
ありがとうございます。
590 :名無しさん@そうだ選挙にいこう2011/09/30(金) 11:24:55.04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 文字列 マクロ
A1の値が10の場合B1にOKと表示させたい。
if(Cell(A1) = 10, Cell(B1).Value = "OK" , "")
とするとValueの部分を指摘されます。
Valueはマクロでは使用出来ないのでしょうか。
594 :名無しさん@そうだ選挙にいこう2011/09/30(金) 13:28:56.91
>>590
587=590なの? 釣りなの?なの?・・・・・あえて釣られてみようwww
セルの 計算式にはマクロ(=VBA)は書けない
=IF(A1=10, "OK", "")
591 :名無しさん@そうだ選挙にいこう2011/09/30(金) 11:25:35.73
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel セル 枠外 ズレ

集計表をつけていて、例えばB1に5(標準書式)と記入し、プレビューでもそうなってるのですが、
印刷してみるとA1のセル内右端に印刷されているんです。
それも全てではなく、いくつかのセルだけそういうことが起こります。
書式を数値にするとそういうことはありません。
また、フォントもプレビュー時とは違うもので印刷されます。
別のパソコンで印刷するとそのようなことは起きません。
問題はどこにあるのでしょうか?
595 :名無しさん@そうだ選挙にいこう2011/09/30(金) 13:33:16.09
>>591
意味がわからん。
VBAがいいのかワークシート関数がいいのか。はっきりしてほしい。

B1セル=if(A1=10,"OK","")

Sub tes()
If Range("A1") = 10 Then Range("B1").Value = "OK"
End Sub
597 :名無しさん@そうだ選挙にいこう2011/09/30(金) 18:19:59.30
>>591
一度書式設定を文字列に設定した後、標準に戻したとか
もしくは書式設定の配置でインデントとか
別のパソコンも2007なら、そのパソコンのエクセルがおかしい
別のパソコンが2007以外なら、2007が原因かもしれな
592 :名無しさん@そうだ選挙にいこう2011/09/30(金) 11:47:20.60
> 別のパソコンで印刷するとそのようなことは起きません。
この時点でパソコンの問題でしょう。
情報管理部あたりに調べてもらっては?
593 :名無しさん@そうだ選挙にいこう2011/09/30(金) 11:59:47.97
プリンタが2台あり、よく使う1台からだけおかしな状況でした。
もう1台はちゃんとした状態で印刷されます。
プリンタードライバの問題ですかね?ちなみにCanonです。
596 :名無しさん@そうだ選挙にいこう2011/09/30(金) 13:40:43.80
>590
>4 VBAでの回答の可否】 否
>【5 検索キーワード     】 excel 文字列 マクロ
>Valueはマクロでは使用出来ないのでしょうか。

計算式の話なのか、VBAマクロの話なのか、ワケワカラン
599 :名無しさん@そうだ選挙にいこう2011/09/30(金) 19:57:17.16
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 かなり沢山検索しました

最近以下のサイトで、エクセル2010を使い勉強を始めたのですが
http://www.panrolling.com/etc/users/taniguchi/1/index.html

AVERAGE(中でオフセット関数も使っているようです)を入力した後、そのセルをダブルクリックすると
計算させたい範囲が青い枠で囲まれるので
確認しながらやるとの事なのですが、ダブルクリックしても範囲が表示されません
エクセル2010では表示されない仕様になってしまったのでしょうか?
関数の式などはそのままコピーしたので間違っていませんし(手入力もしてみました)
計算結果も関数で記した範囲でしっかり計算しているようです
範囲を確認しながら入力したいのですが、計算させたい範囲を青い枠で囲む事は出来るのでしょうか?
すみませんが少し複雑な計算式なので、リンク先を確認頂けると助かります
宜しくお願い致します
601 :名無しさん@そうだ選挙にいこう2011/09/30(金) 21:00:59.49
>>599
ダブルクリックする位置勘違いしてるんじゃないの
AVERAGE関数が入ったセルを選択してF2押してみたら?
600 :名無しさん@そうだ選挙にいこう2011/09/30(金) 20:22:22.04
492の自演が裏づけされたようだね
趣味はカメラですか?
609 :名無しさん@そうだ選挙にいこう2011/10/01(土) 04:19:27.00
>>600
君、恥ずかしくないの?

書き込みやめれば、君の恥ずかしい過去を早く忘れて貰えるのに
いつまでも自分の恥ずかしい負け犬の遠吠えした件をズルズル引きずって・・・
602 :5992011/09/30(金) 22:20:30.35
やってみましたがやはり同じでした
こんな感じで範囲の一部だけが青枠で表示されてしまいます

ttp://bbs4.fc2.com//bbs/img/_70300/70212/full/70212_1317388784.gif
603 :名無しさん@そうだ選挙にいこう2011/09/30(金) 22:37:26.32
>>602
Excelはそういう仕様なんでしょ?
たとえばA1:A10の合計で
=SUM(A1:A10)ならダブルクリックすりゃA1:A10が青枠になるが
=SUM(A1:OFFSET(A1,10,))の場合、引数のA1しか青枠にならない。
=SUM(INDEX(A:A,1):INDEX(A:A,10))だとA列全体が青枠になる。
604 :5992011/09/30(金) 22:42:25.59
>>603
あぁそうなんですか…
では勉強に使っているサイトの解説が間違っていると言う事ですね
有り難う御座いました、古いエクセルを購入しようかと思ってました(汗)
助かりました
605 :名無しさん@そうだ選挙にいこう2011/09/30(金) 22:43:40.15
要するに青枠になるのは一番最初に指定した範囲ってことね。
=SUM(OFFSET(B1,,-1):A10)なら同じくA1:A10の合計だが最初に出てくるB1が青くなる。
606 :名無しさん@そうだ選挙にいこう2011/09/30(金) 22:59:48.21
【1】Windows7
【2】Excel2003
【4】VBA可
【5】エクセル 複数セル 複製
AAA
BBB
CCC

縦にこのように並んでいる文字列(この場合3セル)を

AAA
AAA
BBB
BBB
CCC
CCC

というように複製したいのですが、関数もしくはVBAで
可能でしょうか?
607 :名無しさん@そうだ選挙にいこう2011/09/30(金) 23:11:13.38
>606
作業列に縦方向に1、2、3・・・と入れて、
複製したいセル範囲と作業列範囲まで含めて下にコピー
最後に作業列でソート
608 :名無しさん@そうだ選挙にいこう2011/09/30(金) 23:55:26.43
>>607

関数使うまでも無かった無かったのですね。
私、頭柔らかくしないと・・・
610 :名無しさん@そうだ選挙にいこう2011/10/01(土) 05:54:41.74
俺がちょっと間違えただけでなぜか負け犬の遠吠えと言われたことあるが、俺が自演とか言ってるやつと勘違いされてるのか?
それこそ自分に反する書き込みが一人だと思わない方がいい。
611 :名無しさん@そうだ選挙にいこう2011/10/01(土) 06:50:46.47
ちょっと間違えただけで負け犬の遠吠えと言われた?
何時、何処での話だか知らないが、「負け犬の遠吠え」と言われたのは
「間違えた」からではなく、おそらく「間違えた後に言い訳したから」だろ。
「間違えた"だけ"」なら、バカだアフォだシッタカぶって滑稽だとは言われても
負け犬の遠吠えなんて言葉はまず出てこないよw

妄想が激しいのか、自分に都合の悪いことはすぐ忘れるか誤魔化す癖が
あるのかは知らないが、もっと現実を正しく見れるようになった方がいいぞ。

> 俺が自演とか言ってるやつと勘違いされてる
ではなく
> 俺が自演とか言ってるやつと見抜かれている
である事実とかも正しくね。
612 :名無しさん@そうだ選挙にいこう2011/10/01(土) 06:58:25.41
やっぱこの人基地外だよ。
616 :名無しさん@そうだ選挙にいこう2011/10/01(土) 11:18:50.48
>>612-613
端から見たら、奴もオマエもどっちも基地外だ
お互い、いつまで意地の張り合いしてるつもりだ?
もうこのスレ的な結論(回答)は終わってるんだから余所でやれ
614 :名無しさん@そうだ選挙にいこう2011/10/01(土) 10:33:37.75
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 VBA、24時間

C列は時刻ですが文字列になっています。
小数点をまるめ、24時間表記を午前/午後の12時間表記に
変えるにはどうすればいいですか?

例 19:34:12.95 --> 午後07:34:13

 A     B       C      D
598  9月30日  19:34:12.95  kngw
609  10月1日  04:19:27.00  kngw
610  10月1日  05:54:41.74  kngw
611  10月1日  06:50:46.47  kngw
612  10月1日  06:58:25.41  kngw
617 :名無しさん@そうだ選挙にいこう2011/10/01(土) 11:29:57.78
>>614
一回CSV形式で保存して再読み込み。
んで、セルの書式設定で12時間標記にすれば良い
623 :名無しさん@そうだ選挙にいこう2011/10/01(土) 16:21:16.03
>>614
C列のセルの表示形式を 「[$-411]AM/PM hh:mm:ss」とします。
C列を選んで「データ」の「区切り位置」で「完了」とします。

それだけ
625 :名無しさん@そうだ選挙にいこう2011/10/01(土) 20:30:14.01
>>623
ぱちぱち
615 :名無しさん@そうだ選挙にいこう2011/10/01(土) 11:02:50.16
よろしくお願いします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 並び替え、ソート

A列に企業名、B列以降に金額が入っている表があります。
A列は全て文字で埋まっていますが、金額列は空欄も多いです。
このとき、金額の大小に関わらず、「金額が入っている行をまとめて上に持ってくる」という
並び替えをしたいのですが、簡単に行う方法が思いつかず面倒で困っています。

今やっている方法は、B列で「空白以外のセル」を抽出し、空いている列に「1」を立て、
一旦ソートを解除して、「1」を立てた列を昇順で並び替える、という方法です。
金額列がB列しかない場合はこれで充分なのですが、C列D列E列…と金額列が十数列ある場合に
「まずB列に数字が入っている行を上に集め、B列は空欄だけどC列に数字があれば上に集め、以下略」
という並び替えが大変です…。

何か良い方法がありましたらアドバイスお願いします。
618 :名無しさん@そうだ選挙にいこう2011/10/01(土) 11:31:24.92
>>615
オートフィルタで空白以外を指定すれば良いんじゃないかな。
621 :名無しさん@そうだ選挙にいこう2011/10/01(土) 11:55:10.51
>>615
空いている列に
=IF(COUNTA(B1:G1)>0,1,"")
とかして下にオートフィル→この列をキーにソート
619 :名無しさん@そうだ選挙にいこう2011/10/01(土) 11:42:19.86
並び替えたいっていう相談内容に対してオートフィルタとかwww
620 :名無しさん@そうだ選挙にいこう2011/10/01(土) 11:48:35.70
ちょっと言葉が足りなかったな、確かに。
空白でないものを抽出して新しいワークシートにコピペ
空白のものを抽出して、上で作ったシートにコピペ
並び替えは好きなようにすれば良い。
622 :名無しさん@そうだ選挙にいこう2011/10/01(土) 15:19:47.38
【1 OSの種類         .】 Windows XP/vista/7/8
【2 Excelのバージョン   】 (優先度) Excel 2010 → 2003 → 2000
【5 検索キーワード     】 ショートカット

個人的に、excel用のテンキーを自作する予定です。(テンキーにキーを数〜十数個足したイメージ)
キーボード〜テンキー〜マウス間の手の往復が少なくなればいいな、という理想なのですが、

(参考テンキー)
EPSON ビジネステンキーボード
http://journal.mycom.co.jp/news/2003/03/25/16al.jpg
Realforce23U
http://pc.watch.impress.co.jp/img/pcw/docs/305/888/html/topre.jpg.html

いざ自分で追加キーを考えてみるとExcelの扱いにそこまで長けてもないため
・Tab(右セル移動用) ・shift+Tab(左セルに移動用) ・BackSpace(普通のテンキーだと遠いので)
・F2(選択セルを修正) ・'(数値入力ついでに)
くらいしか思いつきません

そこで、「このショートカット自分はよく使う」「このショートカットが1キーでできるなら設置しときたい(1キー押しただけでAlt+shift+なにか みたいなのもできます」
「自作キーボードを作る作らない以前にexcelでこのショートカットキーはオススメ」
のようなショートカットキーなどありましたらお教えいただけませんでしょうか
よろしくおねがいします
629 :名無しさん@そうだ選挙にいこう2011/10/02(日) 06:22:08.75
>>622
とりあえずコピーとペーストはいれとけば?w
余裕あればCtrlとshiftと=でオートSUMも
630 :名無しさん@そうだ選挙にいこう2011/10/02(日) 08:02:57.76
>>622
テンキー自作って凄いな。メーカーの人?
一応自分が好んで使うものは以下。

・Ctrl + 矢印 (現在のセルからデータの連続して入っている端までカーソル移動)
・Shift + Ctrl + 矢印 (現在の選択部分からデータの連続して入っている端まで選択)
・Ctrl + 1 (セルの書式設定画面を出す)
・Shift + Ctrl + : (つまりCtrl + *) (アクティブセルを含む周囲のデータ連続範囲を箱形に選択)
・F4 (セル編集モードでセル名称位置にカーソルを置いて押すと、セル名称を4種類の絶対/相対表記に順に切り替える)
・Ctrl + Z (直前の操作を取り消す)
・Ctrl + C, Ctrl + V (コピーとペースト)
624 :名無しさん@そうだ選挙にいこう2011/10/01(土) 20:24:49.82
VBAの質問です

複数の結合セルを含むRangeをFor Eachで回して、結合セルを一つ一つ処理したいんですが
For Each r In Range("hoge")だとセルの結合に拘らずすべてのセルに対しての処理になってしまいます。
結合セルを一つのセルとして(一度だけ) For Eachで処理するにはどうすればいいんでしょうか?
626 :名無しさん@そうだ選挙にいこう2011/10/01(土) 20:51:57.92
>>624
他にいい方法ありそうですが、

If r.Address(0, 0) = r.MergeArea.Item(1).Address(0, 0) Then

この時だけ処理をすればいいかと。
628 :6242011/10/01(土) 21:00:30.30
>>626
試してみたところ、問題なく動作しているようです。
ありがとうございました。
627 :名無しさん@そうだ選挙にいこう2011/10/01(土) 20:55:20.53
あ、ごめん、(0,0)は取って。いや、あってもいいけど。
取るなら両方取って。取らないなら両方取らないで。
631 :名無しさん@そうだ選挙にいこう2011/10/02(日) 08:27:47.06
自分は「値貼り付け」をショートカットで使えるようにしてる。
今はAlt+文字キーという2個を押すことで値貼り付けできる状態だけど、
もしこれがテンキーのボタン一つ押下で叶うなら大変ありがたいや。
あとピボットを頻繁に使うから、ピボット系のショートカットはごっそり使ってる。
それもテンキーでできるなら…なんて考えてくと通常のキーボードと同じ横幅のテンキーになりそうだw

とはいえ、エクセル普段使いしない人がエクセル用のテンキーって難しくない?
利用者のニーズに合った物を作りようがなさげ…ああ、個人用ってことは利用者=自分なのか。
632 :名無しさん@そうだ選挙にいこう2011/10/02(日) 11:15:40.48
>Alt+文字キーという2個を押すことで値貼り付けできる

どうやるの?
633 :6312011/10/02(日) 13:57:53.37
>>632
「ユーザー設定」ダイアログボックスを表示させる
 ↓
「値の貼り付け」ボタンを右クリック
 ↓
「名前(N):」という項目に「値の貼り付け(&★)」と入力
(★は自分が押し易いキーのアルファベットで良い)
 ↓
「テキストのみ表示(T)」もしくは「イメージとテキストを表示(A)」をクリック
 ↓
ダイアログボックスを閉じれば完了


あ、でも2007からはリボンとかいうのがツールバーに代わって使われてるんだっけ?
上に書いたやり方は2003なので、2007以降の環境の人ではどうやるのか分からん、すまんです
634 :名無しさん@そうだ選挙にいこう2011/10/02(日) 14:20:09.08
>>632
Alt+E→S→Vみたいなの知りたいんじゃない?文字キー2個は俺も知りたいです。
635 :名無しさん@そうだ選挙にいこう2011/10/02(日) 14:24:41.50
>>633
自分も値の貼り付けをよく使うので、とても助かりました。
ホーム→エクセルのオプション→ユーザー設定
とすると、クイックアクセスツールバー(ホームボタンの右)に登録できますね。
で、その後、ALTを押すと、数字が見えます。その数字とALTでいけますね
637 :名無しさん@そうだ選挙にいこう2011/10/02(日) 15:00:43.97
俺はF1を無効にしたい
F2を押す時にうっかり指先がF1に触れてヘルプが出てくるのがうぜええええ…orz
640 :名無しさん@そうだ選挙にいこう2011/10/02(日) 16:32:44.78
>>637
そういうのもAutoHotkeyで出きるぞ
ExcelでのみF1無効ってな
641 :名無しさん@そうだ選挙にいこう2011/10/02(日) 18:40:50.30
漏れのPCにはF13〜F24のキーなんて無いや・・・orz
642 :名無しさん@そうだ選挙にいこう2011/10/03(月) 05:07:56.41
>>641
無いからこそF13〜F24を使うんだよ。
メインのキーボードにあるキーを使ったらバッティングするからね。
643 :名無しさん@そうだ選挙にいこう2011/10/03(月) 06:34:45.10
>>642
話、噛み合ってないんじゃね?
645 :名無しさん@そうだ選挙にいこう2011/10/03(月) 09:37:28.80
A列にデータを入力して、B列に順番に
=SUM(A1:A1)、=SUM(A1:A2)、=SUM(A1:A3)・・・という風に入力したいんですが、
4つ5つほど入力してからドラッグしても、オートで意図したように入力してくれません
何か良い方法ありませんか?
データが数百個並んでるため、手入力は面倒くさいです・・・
646 :名無しさん@そうだ選挙にいこう2011/10/03(月) 10:09:45.18
>>645
=SUM(A$1:A1)
または
B1=A1とした場合, B2 =B1+A2で以降フィル
647 :名無しさん@そうだ選挙にいこう2011/10/03(月) 12:53:02.58
>>646
ありがとうございます!
とても助かりました
648 : 忍法帖【Lv=9,xxxP】 2011/10/03(月) 19:33:01.97
a(黒の字) 100
b(赤の字) 200
c(黒の字) 300
d(赤の字) 50
e(黒の字) 100
このような表のaの値とcの値とeの値を
合計したいときはどうしらいいのでしょうか?
657 :名無しさん@そうだ選挙にいこう2011/10/04(火) 23:52:41.27
>>648
もしかして、(赤の字)ってマイナスの場合に赤で表示されてる?
659 :6482011/10/05(水) 14:31:22.99
後だし申し訳ありません。もう一度お願いいたします。
【1 OSの種類】WindowsVista
【2 Excelのバージョン】Excel2007
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】複数条件 合計 sumif
>>648とは例が変わりますが、以下のような表があった場合、
名前 在任期間(月)
福田   12
麻生   12
鳩山    9
かん   15
野田    1
自民党、民主党、各党の総理大臣の在任期間の合計をそれぞれ表すには
どのような関数を使ったらいいかをお願いいたします。
(この例のように、大臣名と党名が自明であるとして、また、項目が増えることもある場合)
649 :名無しさん@そうだ選挙にいこう2011/10/03(月) 19:35:01.68
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル Count 複数 関数

今アンケート結果の集計を行っています。
数字で複数回答が可能なアンケートなんですが、例を書くとこのようになっていて、
1
3
2
1
1,4 (←複数回答の場合、全部コンマで区切られています)
これを数字別に
1が3個
2が1個
3が1個
4が1個
という風に集計をしたいです。
とりあえず=COUNTIF(A○○:A○○,"1")で、数字が一つの場合の集計の仕方はわかったのですが、
同じセルに複数回答がある場合、それを別々にカウントする方法がわかりません。
どうすればいいでしょうか?
650 :名無しさん@そうだ選挙にいこう2011/10/03(月) 19:59:12.87
2ケタの回答番号がないとしたら=COUNTIF(範囲,"*1*")で出来るんだけど、すべてのセルが文字列じゃなかったら出来ないんだよなあ

後は汚いけど
=SUMPRODUCT(LEN(A1:A3))-SUMPRODUCT(LEN(SUBSTITUTE(A1:A3,"1","")))
とか・・・
651 :名無しさん@そうだ選挙にいこう2011/10/03(月) 20:16:25.89
>>650
ありがとうございます。
後出しで申し訳ないですが、2ケタの数字かつ複数回答もあります・・・。
他の人から回ってきたデータで、本当なら表を作り直すのが一番いいのでしょうが、
何分そうすると時間がかかって仕方ないので・・
後、=SUMPRODUCT(LEN(A1:A3))-SUMPRODUCT(LEN(SUBSTITUTE(A1:A3,"1","")))の関数は
A1-A3で、「1と何か別の文字を含むセル」たとえば「1,3,5,6」から1の個数を数える、
という理解でよろしいでしょうか?
652 :名無しさん@そうだ選挙にいこう2011/10/03(月) 20:43:12.42
>>651
sumproductも2ケタには対応していないよ。
もし出来るなら、
表の改変をオススメ。

データタブ→「区切り位置」→「カンマやタブ・・・」→区切り文字を「カンマ」で完了
これでセルごとにデータが分かれる。
こうなればcountif使えるよ。

今の現状でも数えられなくはないけれど、無駄に手間がかかるから

653 :6492011/10/03(月) 21:37:01.84
>>652
セルを分けて集計していこうと思います。
どうもありがとうございました。
654 :名無しさん@そうだ選挙にいこう2011/10/04(火) 00:30:40.42
>648
集計したい条件は何ですか?
セルの字の色で集計したいのか、1行おきに集計したいのか、どちらですか?
それと、このスレの >1-5 は読みましたか?テンプレに沿って再度書き込んでください。
655 :名無しさん@そうだ選挙にいこう2011/10/04(火) 22:27:55.19
セルの数値に応じた表示形式について。
A列のセルに、計算結果を縦に並べていく。それらの数字をaとして、
(1)a>0の場合
aを切り捨てた値を表示したい。
a=0.9なら「0」と表示

(2)a=0の場合
「-」と表示したい。
ここからが問題。

(3)-1<a<0の場合
「▲0」と表示したい。

(4)-1≦aの場合
aを切り上げた値を表示したい。
a=-1.8なら「▲1」と表示

(1)と(4)はTRUNC関数でどうにかなるが、(2)と(3)が厄介だ。
単に表示が出来れば良いのではなく、例に出したaはもう一回計算式へ飛ばすことが
出来ないといけない。だから(2)の結果が単なるハイフンとみなされ、計算に再利用
出来ないようではいけない。こういうのって、何とかなる?
めちゃくちゃネストしまくった複雑な計算式は、できれば遠慮したいです。
俺は使えても、周囲に使わせられない。
658 :名無しさん@そうだ選挙にいこう2011/10/05(水) 06:52:22.19
>>655
(1)や(3)を次の計算で0として扱うとなると「0と0と0を区別する」ってことになり、
負の数の中でさらに場合分けどころか、同一の値を区別するってことで、理論上あり得ない話になる

それを無理矢理実現するには、この表示のための計算ではなく次の計算での対応も必要

例えばN関数を使う方法では
(1) → 数値で「0」     → N(0) = 0
(2) → 文字列で「"-"」  → N("-") = 0
(3) → 文字列で「"▲0"」 → N("▲0") = 0
(4) → 数値で「▲1」    → N(▲1) = -1
次の計算式が、+5するものなら、本来「=A1+5」ってするところを「=N(A1)+5」にすれば良い
で、(1)と(4)はTRUNC関数と表示形式で、(2)と(3)は1回だけネストしたIF式で出きる
ついでに、文字の横配置設定(右寄せとか)してないセルでこれやると、(1)と(4)は右寄せ、(2)と(3)は左寄せになるので
「0;"▲"0;0;* @」ってすると、(2)と(3)も数値と同じ右寄せになる
但しこれやると、逆に左寄せや中寄せ設定しても、(2)と(3)は右寄せから動かなくなるので、その辺は臨機応変に

因みに、「正;負;0;文字」で分けた上で、負の数の中でさらに条件分けは出来ないけど
負の数の中だけでの条件分けは出来るぞ
まぁ上記の方法では必要ないけどな
656 :名無しさん@そうだ選挙にいこう2011/10/04(火) 23:31:42.62
>655
セルの表示形式だと 正の数;負の数;ゼロ;文字列 の4通り設定できるけど、
負の数の中でさらに場合分けは無理なので、どうしても作業列に計算式を使わなければならないでしょう。

ところで、「例に出したaはもう一回計算式へ飛ばすことが出来ないといけない」というaですが、
「元々のaの値」を再利用したいのか、「aを加工した結果」を再利用したいのか、がわかりません。
「加工した結果」を再利用したいというのであれば、(2)の − は 0 と見なすのですか?
660 :名無しさん@そうだ選挙にいこう2011/10/05(水) 15:01:20.33
>659
政党の列を作れ 以上
663 :6482011/10/05(水) 17:09:08.26
>>660
すいません、表自体を値順などでソートしたりするのですが、
当てはまる複数の項目(今回の例であれば大臣の名前)を合計するやり方がよくわかりません。
お願いいたします
661 :名無しさん@そうだ選挙にいこう2011/10/05(水) 15:17:37.78
XPで2003です。
表を作ってそれを1ページにコピペして4つ作りたいのですが、
横の列幅はコピペで貼り付けの条件で出来るんですが
セルの高さの方はどうやってコピーするやつと同じにできるんでしょうか?
662 :名無しさん@そうだ選挙にいこう2011/10/05(水) 15:40:18.39
コピーしてコピーしたセルの挿入
664 :名無しさん@そうだ選挙にいこう2011/10/05(水) 17:24:52.21
>>662サンクス
セルの挿入とは初めてです
665 :名無しさん@そうだ選挙にいこう2011/10/05(水) 18:19:41.80
>662
政党の列を作ってSUMIF()で集計
666 :6482011/10/05(水) 18:52:37.66
>>665
ありがとうございました
無事解決しました。
667 :名無しさん@そうだ選挙にいこう2011/10/05(水) 20:27:34.27
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 時刻 勤務表 まるめる


1分〜7分→0分
8分〜15分→15分
16分〜22分→15分
23分〜30分→30分
31分〜37分→30分
38分〜45分→45分
46分〜52分→45分
53分〜0分→0分


勤務表を作成しています。
1ヶ月の総時間合計時に上記のような処理をかけたいのですが可能でしょうか。
宜しくお願いします。
668 :名無しさん@そうだ選挙にいこう2011/10/05(水) 20:37:10.80
>>667
どういう風に入力されているのか分からないのですが、
=MROUND(A1,"0:15")
エラーになるときはアドインを組み込んで。
669 :名無しさん@そうだ選挙にいこう2011/10/05(水) 21:23:38.65
>>668
うまくいきました。迅速な回答に感謝です。
本当に助かりました。ありがとうございました!
676 :名無しさん@そうだ選挙にいこう2011/10/06(木) 01:44:48.37
>>672
法的には切り捨てることは許されていない。正確に言うと、切り捨てるってことは
「会社が定める時間管理単位未満の労働には賃金を支払わない」という意味になるが
それは違法行為になり認められていない。

まあ秒単位くらいの切り捨ては暗黙の了解で咎められないが、15分単位とかで管理計算
したければ切り上げる。切り上げて余分に金払うのが嫌なら1分単位で管理計算する。
それが使用者の義務。

未だに切り捨てでやってるところも多いが、労働基準監督署に通報してやれば、
監査、指導に来てくれるよ。>>667は切り捨てではなく四捨五入みたいなものだから
切り捨てが世の標準だと勘違いしている奴から見たら少しは良心的に見えるかもしれないが
実際にはとんでもない。>>667もまだ違法で、正しくは

1分〜15分→15分
16分〜30分→30分
31分〜45分→45分
46分〜翌時0分→60分

でなくてはならない。
682 :名無しさん@そうだ選挙にいこう2011/10/06(木) 18:23:57.97
>>676
それは知らなかった。
標準勤務時間が8時〜17時で、毎日7:45にIDカードを翳したら
20日で5時間分の早出手当てが出るのか。
670 :名無しさん@そうだ選挙にいこう2011/10/05(水) 21:25:10.26
>667
>53分〜0分→0分
の部分は、「時間」のところに繰り上がりの処理は入っていますか?
(心配になったので念のため)
671 :名無しさん@そうだ選挙にいこう2011/10/05(水) 21:34:31.45
>>670
自分でやってみれば繰り上がっているかどうかわかるじゃん。繰り上がるよ
673 :名無しさん@そうだ選挙にいこう2011/10/05(水) 23:18:46.60
>>670
軽くチェックはしてみましたが大丈夫そうでしたよ。
わざわざありがとうございました。
672 :名無しさん@そうだ選挙にいこう2011/10/05(水) 21:56:02.97
勤務表の時刻って、切捨てじゃナカタのか・・
674 :名無しさん@そうだ選挙にいこう2011/10/06(木) 00:43:36.75
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 条件 まとめる
Sheet1に以下のようなデータが数千件はいっているとします。
A | a | 1
B | a | 2
C | b | 1
D | b | 1
|はセルの区切れ目として考えてください。
1列目には数千件のデータ(たまに重複あり)が入っています。
2列目には1列目のグループ名(カテゴリー名)が入っています。
3列目には1か2のどちらかが入っています。
675 :名無しさん@そうだ選挙にいこう2011/10/06(木) 00:52:54.61
(長いようなのでわけさせていただきました)
このとき、Sheet2(別シートなら何でもいいのですが)に、
a | 1 or 2
b | 1
というように、2列目のカテゴリーの一覧と、3列目に1だけなのか、2だけなのか、1と2の両方が入っているのかを表示させたいのです。
Excelの関数では思いつかず、検索してもわからないので、お力をお借りできればと思いご相談しました。
よろしくお願いします。
678 :名無しさん@そうだ選挙にいこう2011/10/06(木) 06:44:32.77
>>675
>、3列目に1だけなのか、2だけなのか、1と2の両方が入っているのかを表示させたいのです。
方法その1:1、または2だけの平均と1と2が混在する場合の平均では小数点以下に
違いが出てくるよね。
その違いで振り分けしてみてはどうでしょう。
677 :名無しさん@そうだ選挙にいこう2011/10/06(木) 03:56:14.86
俺のバイト先も15分ごとの切り捨てだわ
出勤と退勤時の1日2回切り捨てされるから毎日30分ずつ、
しかも勤続12年だから、ざっと計算して200万近く損してる計算か


ちょっと腹が立ってきた
679 :6742011/10/06(木) 08:00:29.94
ありがとうございます。
1, 2というのは実際には文字列です。
また、数千件のデータのなかに、カテゴリーも1000件以上あるので、
別シートにリスト化、というところも重視したいのです。
680 :名無しさん@そうだ選挙にいこう2011/10/06(木) 08:58:04.80
>>679
ピボットテーブルで集計してデータの個数で1だけ、2だけ、1と2の両方の判断するとか
681 :6742011/10/06(木) 10:25:15.26
ありがとうございます。実際には一番左のデータは3種類あるので、四則演算や平均の応用は難しいと思います。
684 :名無しさん@そうだ選挙にいこう2011/10/06(木) 19:02:00.29
なにもないとすぐ帰るけどそれでもPM6:01やPM6:02にはなる。
これはPM6:15と15分の残業をして帰ったことにしてよかったのか?
685 :名無しさん@そうだ選挙にいこう2011/10/06(木) 19:15:28.25
法律的には、1分単位で記録し、月単位で合計して30分未満切り捨て、30分以上切り上げで
時間外手当を計算するはず
686 :名無しさん@そうだ選挙にいこう2011/10/07(金) 16:13:47.38
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2007

http://www.dotup.org/uploda/www.dotup.org2111192.jpg

こういう状況になってブックの最大化が出来ない^^;
マウスを当てて下に降ろそうとしても数式バーの部分が
広がるばかりorz

どうしたらブックのあの最大化とか最小化とかのボタンの部分を出せますかね
687 :名無しさん@そうだ選挙にいこう2011/10/07(金) 20:50:24.93
>>686
表示→整列→お好きなのをどうぞ
688 :名無しさん@そうだ選挙にいこう2011/10/07(金) 21:49:16.96
>>687

なるほろ!出来ました!
(´ε` ) w
689 :複乳2011/10/08(土) 02:18:41.24
さいきんオレを見かけないけど、どうしたの?
690 :名無しさん@そうだ選挙にいこう2011/10/08(土) 03:08:45.87
>>689
自分探しの旅に出ているんだろう。
691 :名無しさん@そうだ選挙にいこう2011/10/08(土) 03:52:41.42
XPか2003の頃に作ったVBA、アクセステーブルから読み込んだデータを
いじくりまわして印刷用にレイアウトしたページに流し込んで印刷。
そのデータはすぐ消去して次のデータを流してまた印刷、、、
これを延々と500回以上繰り返す作業なんですが2003の頃はスタートしてから
一気に作業が終わるまで頑張ってたけど2010にしたら途中で勝手に停まる。
いったん自動実行を切って中断したところからやり直し。これの繰り返し。

2003の頃は全く問題なく動いてたのが2010にしたら途中でさぼり癖が。
ループで印刷コマンドは activesheet.pritoutだけ。
なんでVERあげただけで挙動が変わるのかと。
692 :名無しさん@そうだ選挙にいこう2011/10/08(土) 04:02:30.65
>>691
見た目だけでなく内部構造が2007から完全に変わった
693 :名無しさん@そうだ選挙にいこう2011/10/08(土) 17:04:59.44
【1 OSの種類         .】 Windows XP 32bit SP3
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 「111 Excel 年齢」「文字 関数 結果 Excel」「Excel 文字 非表示」

誕生日から本日何歳になっているか表示させる関数を作ったのですが
誕生日を入れていないセルを指定していると、計算結果で「111」と表示されてしまいます。
この「111」が表示されないようにする、見えないようにする方法を探しています。
ただ、ファイルを扱う人がExcelやPCを使い始めたばかりの方なので
誕生日を入力するだけの状態にしたいです。
 不可操作
 ・誕生日を入力しないセルに対応した年齢セルの内容を削除する
 ・印刷時にDELキー等で111と表示されるセル内容を削除する
 ・111の文字を背景と同じ色にする(オプション等で最初から設定できる場合は可です)

●誕生日から年齢を表示する関数(A1部分のセルが空白だと「111」が表示される)
=DATEDIF(A1,TODAY(),"Y")

●望んだ結果が帰ってこなかった失敗関数(「111」になる部分を空白にしたかった)
=IF(DATEDIF(A1,INDIRECT("B1"),"Y"),DATEDIF(A1,INDIRECT("B1"),"Y"),"")

よろしくお願いします
694 :名無しさん@そうだ選挙にいこう2011/10/08(土) 17:30:00.28
誕生日のセルが空白なら空白を返す式にすればいいだけやん
695 :名無しさん@そうだ選挙にいこう2011/10/08(土) 17:38:10.22
>>694
お返事ありがとうございます
=IF("","",DATEDIF(A1,TODAY(),"Y"))
上記のように空白を空白で返すように作ってみたのですが
#VALUE!と表示されるので失敗しているのだと思うのですがどこが間違っているか分かりません
IF関数ではダメなのでしょうか?
696 :名無しさん@そうだ選挙にいこう2011/10/08(土) 17:46:23.07
>>695
それ間違ってるよね。
=if(a1="","",・・・・)
697 :名無しさん@そうだ選挙にいこう2011/10/08(土) 17:56:10.56
>>696
できました!IF関数は理論値の部分もセル指定しないといけないんですね!
大変助かりました。ありがとうございました!

できた関数
●誕生日から年齢を表示する(誕生日未入力で「111」になる部分は空白を表示)
=IF(A1="","",DATEDIF(A1,TODAY(),"Y"))
698 :名無しさん@そうだ選挙にいこう2011/10/08(土) 19:09:45.45
ちなみに 日本の法律では誕生日の前日に1歳年をとる。
たとえば、平成23年4月1日生まれの子は平成29年3月31日に6歳になるので、
小学校入学は平成28年。早生まれってやつ。
平成23年4月2日生まれの子は平成29年4月1日に6歳になるので、
小学校入学は平成29年。

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006