Excel総合相談所 112

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

Excel VBA 質問スレ
http://sirtuin.me/index.php?word=Excel%20VBA%20%E8%B3%AA%E5%95%8F%E3%82%B9%E3%83%AC%20

【質問不可】Excel総合相談所スレの雑談・議論スレ
http://sirtuin.me/index.php?word=Excel%20%E9%9B%91%E8%AB%87
2名無しさん@そうだ選挙にいこう:2014/02/08(土) 08:13:16.65
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
3名無しさん@そうだ選挙にいこう:2014/02/08(土) 12:03:49.90
>>1乙です

ただ、前スレが立ったときにも指摘したのだけど
>>2のテンプレ最終行に誤字が……
>・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。

正しくは
・B 書籍や解説サイトの紹介『依頼』はスレ『違い』。ここは技術的な質問のみで。
4名無しさん@そうだ選挙にいこう:2014/02/08(土) 21:15:31.72
お願いします。

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 簡単なものをコピペで作るくらいなら
【4 VBAでの回答の可否】 可


クエリでWEBページから取得したデータを、別のシートに参照して並べ替えて表を作成しています。
その表を元に、自動的にグラフを作成したいのですが、表が実際の数字ではなく数式(=A1など)
なので、数字を元にしたグラフが作れません。

何かいい方法はありませんか?
5名無しさん@そうだ選挙にいこう:2014/02/08(土) 22:49:18.67
>別のシートに参照して
ではなく値だけコピーしたらどうでしょう
6名無しさん@そうだ選挙にいこう:2014/02/09(日) 01:31:47.52
>>4
こういうのって本当に参照は数値として認識しないんでしたっけ?
isnumberでチェックしたものでもダメ?
7名無しさん@そうだ選挙にいこう:2014/02/09(日) 23:30:34.42
>>5
年寄りに見せる為のデータで、自動で表示したいってのがキモでして・・・

>>6
isnumberでチェックですが、よくわからないので調べてやってみます。
84=7:2014/02/09(日) 23:54:41.15
isnumberでチェックしたところ、FALSEでした。


@クエリで取得してきている数値が、単位や記号付きの数値なのでダメ。
(”2ストライク”や”安打数:2” のようなものです。)
A表を作成する歳、単位や未取得の項目を見えないようにLEFT関数やiserrorなどで数字だけ見えるようにしていたのでダメ
ってことだと思います。根本的なところの理解が足りてなくて済みません。

質問を改めさせていただきます。
クエリで取得してきた単位付きの数字データを、グラフで扱えるような形にするにはどうすれば宜しいでしょうか?
9名無しさん@そうだ選挙にいこう:2014/02/10(月) 00:01:13.44
数字だけ見えてるならそれをVALUE()で囲めばいいだけじゃないの
10名無しさん@そうだ選挙にいこう:2014/02/10(月) 01:59:42.96
関数使わないでも数値化できる +0とか*1とか
11名無しさん@そうだ選挙にいこう:2014/02/10(月) 06:10:45.16
>>8
実際の表をみないと分からん
数値扱いされていないなら>>9-10でいける
もしくはclean()や、カンマが混じってるならsubstituteを使う
12名無しさん@そうだ選挙にいこう:2014/02/10(月) 11:48:32.62
>>8
たぶん数字の部分を取り出す数式が間違ってる
元データや数式を公開することができないなら自力でがんばるしかない
13名無しさん@そうだ選挙にいこう:2014/02/10(月) 13:51:03.19
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1セルに入力した値が, 1〜5のとき, B1のセルに5を表示
A1セルに入力した値が, 6〜10のとき, B1のセルに10を表示
A1セルに入力した値が, 11〜15のとき, B1のセルに15を表示
A1セルに入力した値が, 16〜20のとき, B1のセルに20を表示
するシートを作成したいのですが, IF文を羅列する以外に簡単に実装する方法はありますか?
よろしくお願いします.
14名無しさん@そうだ選挙にいこう:2014/02/10(月) 13:57:51.26
=(QUOTIENT(A1-1,5)+1)*5
15名無しさん@そうだ選挙にいこう:2014/02/10(月) 13:58:54.21
>>13
=INT((A1-1)/5)+1
16名無しさん@そうだ選挙にいこう:2014/02/10(月) 16:15:34.98
=roundup(A1/5,0)*5
17名無しさん@そうだ選挙にいこう:2014/02/10(月) 17:11:34.64
=CHOOSE(A1,5,5,5,5,5,10,10,10,10,10,15,15,15,15,15,20,20,20,20,20)
18名無しさん@そうだ選挙にいこう:2014/02/10(月) 17:19:21.56
専用の関数があるのにわざわざ面倒な数式考えるとか
=CEILING(A1,5)
194=7:2014/02/10(月) 20:56:22.06
>>9-12

みなさんありがとうございます。
VALUE /clean() /substitute ともにダメでした。
元データの公開はできるのですが、マクロ入りなのでファイルではなく画像キャプでアップしました。
http://www.evernote.com/shard/s22/sh/9ca1de86-932e-43c5-bcd1-aa8bab9b3092/744145fc0976b94d70377292a7877d4a
項目名は変更してありますがデータの形式はこのままです。
時間の部分だけ、数字ではなくNOW関数で表示していますが、その他は見えてるままが実際の入力されている値です。

上記の画像の枠内の項目を1時間に1度クエリで自動的に取得し、それを上書きではなくて下方向に連続してコピペしています。
当然このまま貼り付けているのでは見にくいため、表を作っています。
見やすいようにアクセス数・問い合わせ件数・納期等々・・・の各項目で、連続して数値が並ぶように参照しています。

その際、( )内の文字や、『件』、『:』などの単位、や記号が邪魔なのでLEFT関数などで数字だけが見えるようにしています。
また、参照しているがまだクエリが数値を取得していないセルのエラーを表示させないため、IF(ISERROR)で空白を表示しないようにしています。


目的は、クエリが取得してきたデータを見やすいように自動で並べ替えた上、グラフで数値を使用できるようにすることです。
年配の人間が見るものなので、手作業が必要ないように、なるべく関数等で実現したいです。

説明がわかりずらければ申し訳ないです。お力をお貸し下さい。
20名無しさん@そうだ選挙にいこう:2014/02/10(月) 21:29:35.64
>>19
分からん
値にしてコピーペースト、上げなおして
21名無しさん@そうだ選挙にいこう:2014/02/10(月) 21:56:02.34
>>19
たぶん、取り出した数字の部分が文字列になってしまっている
グラフにするにはすべて「数値」の型式に変換してやる必要がある

「120件」から「120」を数値として取り出す数式
=LEFT(A1,LEN(A1)-1)*1

「6 日 (ヤマト発送)」から「6」を取り出す式
=LEFT(A1,FIND("日",A1)-1)*1

「: 86」を「86」にする式
=MID(A1,2,9)*1
22名無しさん@そうだ選挙にいこう:2014/02/10(月) 22:01:19.70
人間は「数字」と「数値」を区別せずに見たり考えることができるけど、
コンピューターの中では厳密に区別されて処理されている
ここが初心者にはわかりづらい

Excelは勝手に数字を数値に変換してくれる場合もあるから、余計ややこしい
23名無しさん@そうだ選挙にいこう:2014/02/10(月) 22:10:52.56
更にいうと区別されてない場合もあってホントなんとかしてって思う時がたまによくある
24名無しさん@そうだ選挙にいこう:2014/02/10(月) 22:20:47.71
>>20-21

ありがとうございます。

>>21の方法を簡単に試したところ、できそうなのでやってみます!
*1の有無で扱いが変わるのでしょうか?理屈がよくわからないのですが。
グラフまでできたらまたご報告します。

みなさん本当に有難うございます!
25名無しさん@そうだ選挙にいこう:2014/02/10(月) 23:26:03.26
>>24
同じ「1」っていう数字でも、
Excelが文字列って認識してれば
「あ」「い」「う」・・・と同じ文字列なんだよ

そこに*1って入れてやることで、
あ、これって数値の方の「1」なんだねーって認識してくれる
これはExcelが持ってる機能

逆に「1」を文字列として扱い続けたい場合も有る訳だが
Excelが良かれと思ってかなんだか知らないけど
処理の何処かで勝手に数値としての「1」に変換しちゃってて
それを探すのに困ることもある

っていう、上のレスの繰り返しをしてる俺
264=7:2014/02/11(火) 00:46:55.50
できました!!!!

>>25
理屈の解説わかりやすかったです。
今まで、数値とか文字列ってのはセルの表示形式だけの問題だと思ってました。

非常に勉強になりました。
みなさん、本当ありがとうございます!
27名無しさん@そうだ選挙にいこう:2014/02/11(火) 02:55:54.53
ご教示ください。

【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否(VBAを使ってしか対応できない場合は可とします)

リンク先画像をご参照いただきたいのですが、B9〜K9に計算式を入れることで、下記の条件を成り立たせたいのですが、
ご教示いただけませんでしょうか。

・B1「元値」に対して、B2「期間」に入力された年数を基に、条件に当てはまる下のB5〜H6「掛け率」を自動チョイスして乗算することで、
 毎月の金額が算出され、それに12をかけることで年額を算出する。
・B1「元値」が100万円未満か以上で、チョイスされる掛け率が変わる。(1年だと、100万円未満は8.7%、100万円以上は8.5%)
・B2「期間」に入力された期間以上の欄は「-」と表示される。(期間を4年とした際は、5年以降の金額欄は「-」となる設定)
・計算例(表示例)としてはリンク先画像の下部2例となります。(この2例は手打ちしております)

このような計算式を組成することは可能でしょうか?
宜しくお願い致します。

http://fast-uploader.com/file/6947610168955/
28名無しさん@そうだ選挙にいこう:2014/02/11(火) 03:26:30.26
>>27
B9〜K9に入れる式(全セル同じ)
=IF(COLUMN()-1<=$B$2,$B$1*INDEX($B$5:$H$6,1+($B$1>=1000000),$B$2)*12,"")
29名無しさん@そうだ選挙にいこう:2014/02/11(火) 03:29:33.95
ごめんよく読んでなかった
8年以上は掛け率が固定(7年と同じ)なの?
30名無しさん@そうだ選挙にいこう:2014/02/11(火) 07:28:32.44
>>14-18
回答者の表計算ソフトを学んだ時期が分かるような答だなw
Int関数やRound関数はMultiplanや1-2-3の頃からあったけれど
Quotient関数やCeiling関数はExcel以降ではなかったか
(Multiplanの切り上げは -Int(-引数) だけだったか)
自分もMultiplanから入ったからIntやRoundでの構成を考えてしまう
>>17のような手法を取るならLookupを考えるかな
31名無しさん@そうだ選挙にいこう:2014/02/11(火) 08:18:39.04
お前の自己紹介とか誰も興味ないから
32名無しさん@そうだ選挙にいこう:2014/02/11(火) 08:43:31.77
長文のくせに内容がない文章を休日に早起きして書くおっさん・・・
こんなとこ来なくていいから家族サービスでもしてあげてください
33名無しさん@そうだ選挙にいこう:2014/02/11(火) 08:54:51.68
以降は雑談スレにでも行ってきて
3427:2014/02/11(火) 12:33:01.14
>>28-29
すいません、寝落ちしてしまいました。
即レスいただいており、本当に有難うございました!
おかげさまで解決しました。イメージ通りです。
7年以降はもともと設定していないので、最初から式を入れずに空欄にしておきます。
35名無しさん@そうだ選挙にいこう:2014/02/11(火) 13:55:11.73
>>30
ここはいかに多くの関数を知っているかひけらかす場所でもあるんだよ
36名無しさん@そうだ選挙にいこう:2014/02/12(水) 16:20:56.97
【1 OSの種類         .】 Windows7+8.1
【2 Excelのバージョン   】 Excel2010+2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

月ごとに取ってる集計データで月ごとにシート使用して12シートを1年の1bookにファイルして管理してます
ファイル名を24年度aaaにして、シート名は1月、2月・・・・のようにファイル名は年度の数値が変わるだけですべて統一
シート名も全年度同じ4月〜3月です

このような状態で新たに「前年同月比」の集計を出すことになり、それに伴って前年同月の数値を引っ張ってきたいんですが
26年2月のシートのA1セルに年の数値(26年なら26)、C1に月(2月なら2)と数値が入っている場合
前年同月の数値を自動でセルに入れるにはどのように記述したらいいでしょうか?

=!(A1-1)年度aaa/シート名/場所
といった感じの数式がちょっと分からないです
よろしくお願いします
37名無しさん@そうだ選挙にいこう:2014/02/12(水) 16:24:10.66
>>36
は26年2月だけでなく
すべての年度の月で年と月の数値から前年同月の数値を自動でとれるようにしたいのです
ファイル名シート名の形式は統一させてますので記述の仕方だけだと思うのですがどうも上手くいきません
38名無しさん@そうだ選挙にいこう:2014/02/12(水) 16:30:35.82
>>36
indirect()
=INDIRECT(A1&"年度aaa!r"&B1&"c"&C1,0)
B1は行数C1には列数が数値で入る
39名無しさん@そうだ選挙にいこう:2014/02/12(水) 20:53:51.52
>>17
遅まきながらワロタよ
これくらいのネタ回答がたまーに混じるくらいが好きだな
質問者困惑するかもしれんけどにちゃんだし
40名無しさん@そうだ選挙にいこう:2014/02/12(水) 21:23:36.58
ネタじゃないだろ。マジだろ。後から名回答が付いたからって言い訳すんなよ。アホか。(^▽^)
4115:2014/02/12(水) 22:09:04.90
>>40
まぁまぁ。バリエーションがあっていいじゃないか。
エラー値が返るとか、稚拙な周りくどい回答は問題外だけど、choose()の引数は29までで、それはクリアしてるし、問題はない。
ある程度マジレスを返す→ネタレス+技巧レスを返すこのスレの雰囲気は維持していきたいと思ってる
頼むよ
42名無しさん@そうだ選挙にいこう:2014/02/13(木) 00:08:11.19
>>36
前年度のブックも開いていないと上手く動かないけど、こんなんでどう?
(式が長すぎるから改行してます。コピペ時に改行を消してください)

=INDIRECT("'["&MID(CELL("filename",A1),FIND("年度aaa.xlsx]",CELL("filename",A1))-4,4)-1&"年度aaa.xlsx]"
& MID(CELL("filename",A1),FIND(".xlsx]",CELL("filename",A1))+6,LEN(CELL("filename",A1))) & "'!r"
& ROW()-1 & "c" & COLUMN(),0)

仕様
各ブックのファイル名は [西暦4桁] + "年度aaa.xlsx"
例:"2012年度aaa.xlsx","2013年度aaa.xlsx",などで、
前年度のブックを参照する
(aaaの部分は適宜変更してください)

シート名は前年度ブックの同じ名前のシートを参照する
同じ名前のシートがあればそれで良い
シートの並び順は問わないし、関係ないシートがあってもかまわない

参照するセルは一個上のセル
つまり、ブック"2013年度aaa.xlsx"のシート"4月"のセル"A2"は
ブック"2012年度aaa.xlsx"のシート"4月"のセル"A1"を参照する

なお、1年前のブックを指定しているのは
MID(CELL("filename",A1),FIND("年度aaa.xlsx]",CELL("filename",A1))-4,4)-1
の一番最後の"-1"の部分なので、ここを変えれば2年前でも3年前でも参照可能

同様にセルの相対指定は
ROW()-1 & "c" & COLUMN()
の部分なので、ここを変えれば参照するセルの位置も調整可能
4342:2014/02/13(木) 00:47:30.36
ゴメン、西暦年じゃなくて元号だったのね。
CELL("filename",A1))-4,4)

CELL("filename",A1))-2,2)
にすれば年を二桁で指定できるんで、必要に応じて変更してください

あと、そこまで自動でなくてもいいなら(年と月をセル参照で指定するなら)もっと短くも出来ます。

=INDIRECT("'["&A1-1&"年度aaa.xlsx]" & C1 & "月'!r" & ROW()-1 & "c" & COLUMN(),0)

こちらはセル"A1"に年度、セル"C1"に月(ともに数字のみ)が入ってて、
シート名は "1月","2月" のように[数字]+"月"の形式になっているものとします。
44名無しさん@そうだ選挙にいこう:2014/02/13(木) 19:28:38.95
エクセル初心者です
pc間でデータの移動後、移動先のセルに入力できなくなりました
セルをダブルクリック後、半角入力ではウンともスンとも
全角入力では変換候補?が「Tabで選択」と表示され、実行してみてもセルは空白のままです

解決方法をご存知の方いらっしゃいましたらお知恵をおかしください
よろしくお願いしますm(_ _)m
45名無しさん@そうだ選挙にいこう:2014/02/13(木) 19:39:49.92
とりあえずPCの再起動
あとキーボードとマウスを抜き差し
46名無しさん@そうだ選挙にいこう:2014/02/13(木) 19:41:12.98
了解です、やってみます
ありがとうm(_ _)m
47名無しさん@そうだ選挙にいこう:2014/02/13(木) 20:40:35.78
教えて頂いた方法で改善されず、自分のフラッシュでデータの再時移行を試してみたのですがこれもダメでした
44での疑問が、ご近所のご年配の方からの依頼でして、自分のpcからでなくお返事遅くなりました
pcに疎く問題解決策がわからず頼らせて頂きました
ありがとうございましたm(_ _)m
48名無しさん@そうだ選挙にいこう:2014/02/13(木) 20:51:28.06
49名無しさん@そうだ選挙にいこう:2014/02/13(木) 23:51:28.78
>>47
特定のファイルだけその症状が出るの?

他のExcelファイルは無事なんだったら、
根本原因の解決は諦めて、該当のsheetを全選択コピーして
新しいBookのシートに貼り付けるっていう逃げ道もあると思うけど
50 忍法帖【Lv=23,xxxPT】(1+0:8) :2014/02/14(金) 14:50:41.49
エクセル2007で棒グラフを作るとき

4月 12
5月 15
6月 08

というデータの場合、これを範囲選択してグラフを作成すると4月、5月、6月が横軸ラベルなりますが、

4 12
5 15
6 08

だと、4、5、6がラベルにならず2系列の棒グラフになってしまいます。

上の例のように左列をラベルにしてグラフを作成するにはどうしたらいいですか?
あとで指定すればいいのはわかってるんですが、できれば最初に一発で作りたい。
51名無しさん@そうだ選挙にいこう:2014/02/14(金) 17:08:18.67
「Excel CSV I/O」
ttp://www.forest.impress.co.jp/docs/review/20140214_635173.html
ExcelのCSVインポート・エクスポート機能を強化するアドイン
52名無しさん@そうだ選挙にいこう:2014/02/14(金) 17:17:07.22
>>51
ゴミの宣伝はやめて下さい…
53名無しさん@そうだ選挙にいこう:2014/02/14(金) 20:27:30.24
>>51
前スレにあった「ふりがな情報」を消すためにcsvにすると文字列書式も消えるけど、これは使えそうかな?
住所録みたいな計算式のない文字データだけのだと、ふりがな除去でデータ量が半減したけど、全角文字列数字が半角数値に変わったな。
54名無しさん@そうだ選挙にいこう:2014/02/15(土) 00:12:54.19
メモ帳にコピペして貼り付け戻しとかよくやってるけど
55名無しさん@そうだ選挙にいこう:2014/02/15(土) 02:10:57.09
>>50
4、5、6の前にシングルクォートを入れるか、
あらかじめ表示形式を文字列にしとけばできた

入力後に文字列設定にした場合はダメで、
セルの左上角に緑の印が出るようにする必要があるみたい
56名無しさん@そうだ選挙にいこう:2014/02/15(土) 02:59:16.89
エラーが頻発するので教えてください。
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
新規にBookを開いて、適当にグラフを作成(散布図)→グラフの移動をすると実行時エラー438が必ず出てしまいます。
ダイアログが出てくるだけでグラフは作成されるので問題ないのですが…。
よろしくお願いします。
また、Officeの修復を行っても同じでした。
別PCのWindows 8でも同様のダイアログが出てしまいます。
57名無しさん@そうだ選挙にいこう:2014/02/15(土) 08:21:45.14
>>56
マイクロソフトのサポートへ連絡してください
58名無しさん@そうだ選挙にいこう:2014/02/15(土) 09:41:00.77
>>55
ありがとうございます。入力前に文字列指定ですか。なんか妙な仕様ですね。
OpenOffice系だと先頭列を項目名にするチェックボックスがあり、
昔のエクセルも同じ動作だった気がしますけど、なんでこうなったんですかね。
59名無しさん@そうだ選挙にいこう:2014/02/15(土) 14:03:43.88
VLOOKUPでひっぱってきても
日時は42315みたいな数字、
元が空白なら数値の0、
対象が見つからなければ#N/A
と出やがります。

これ、日時はちゃんと日時の書式、空欄なら空欄、対象がなければ空白、みたいにするにはどうすればいいですか?
60名無しさん@そうだ選挙にいこう:2014/02/15(土) 14:12:58.38
>>59
それはシリアル値と言ってな、説明めんどいからぐぐれ。
対処方法としては
・予めセルに書式設定
・text関数
になる

>日時はちゃんと日時の書式、空欄なら空欄、対象がなければ空白、みたいにするにはどうすればいいですか?
これはiferrorやifで分岐させるしかない

vbaならなんとでもなるが、これは厳しいだろう
61名無しさん@そうだ選挙にいこう:2014/02/15(土) 14:16:20.68
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 ほとんど使えない
【4 VBAでの回答の可否】 否
グラフの範囲をセルの値で可変にしたいです
現状
=SERIES(,Sheet2!$A$2:$A$100,Sheet2!$B$2:$B$100,1)
で2か所の100の所をD3の値に変えたいと思い
=SERIES(INDIRECT(",Sheet2!$A$2:$A$"&amp;D3",Sheet2!$B$2:$B$"&amp;D3",1"))
としましたがエラーとなります
6259:2014/02/15(土) 14:17:53.99
>>60
じゃあvbaでやるとどうなりますか?
63名無しさん@そうだ選挙にいこう:2014/02/15(土) 14:20:40.02
>>62
めんどくさいから答えるの嫌
ワークシートのchangeだかselectionchangeだかでやる
まぁその方法も思いつかないのなら考えなくていい、とは言えル
6459:2014/02/15(土) 15:13:05.44
>>63
なぜ最後のルがカタカナですか?
65名無しさん@そうだ選挙にいこう:2014/02/15(土) 15:25:58.75
>>64
別スレの口癖だから。
Excel・vbaに付いて何か問題でも?
6659:2014/02/15(土) 16:19:15.43
>>65
なぜいまはひらがなに戻ったのですか?
67名無しさん@そうだ選挙にいこう:2014/02/15(土) 16:23:02.09
>>66
もともと変換はテキトー。前回の変換がひらがなだっただけ。>>63は前回の変換がカタカナだっただけ
6859:2014/02/15(土) 16:43:15.34
>>67
いつもご丁寧なレスですね。
ではあなたの初体験の年齢はいくつですか?
69名無しさん@そうだ選挙にいこう:2014/02/15(土) 16:51:16.38
>>68
13です。
単純な質問故、喧嘩をする理由・要素が特に見当たりません。
乱暴な言葉づかいによる会話は、長文になりやすいので進んでしようとは思いません。
ですがそろそろExcelとは関係のない話ですので、どこか別のスレ・掲示板等を指定していただけるとありがたいです。
よろしくお願いします。
70名無しさん@そうだ選挙にいこう:2014/02/15(土) 23:50:09.15
クソつまんねーな相変わらず
7159:2014/02/16(日) 11:47:29.27
>>69
どうしてあなたはよく釣れるのですか?
72名無しさん@そうだ選挙にいこう:2014/02/16(日) 14:12:45.82
釣ってると思っている59が釣られている件
73名無しさん@そうだ選挙にいこう:2014/02/16(日) 16:13:28.19
【1 OSの種類         .】 Windows7 sp1
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

エラーセルを無視するようにlinest関数を使うには?

y,x1,x2のデータから、
y=f(x1,x2)=a*x1+b*x2+cを仮定して、
indexとlinestの関数を使って、上記a,b,cの値を求めようとしています。
例えば、index(linest([yの値のセル範囲,[x1の値のセル範囲],[x2の値のセル範囲]),1) 。

yの値のセルに#num!が含まれると、上記関数は#value!を返します。
yの値のセルに#num!が含まれても、そのセルを無視して計算してくれるようにするにはどうすれば良いでしょうか?
74名無しさん@そうだ選挙にいこう:2014/02/16(日) 19:35:48.06
>>73
無理じゃないかな
75名無しさん@そうだ選挙にいこう:2014/02/16(日) 19:48:24.67
>>73
ぐぐったらこんなん出てきた
http://okwave.jp/qa/q5825773.html
http://oshiete.goo.ne.jp/qa/5825773.html

その関数は使ったことないのでうまくいくかどうかは不明

範囲をコピーペーストして置換したり、範囲をまるごと参照して同エラー以外同じものを作るという手も
76名無しさん@そうだ選挙にいこう:2014/02/16(日) 19:56:52.88
セルがエラーかどうか聞いて、エラーなら代替値で計算させればいいだろに
77名無しさん@そうだ選挙にいこう:2014/02/16(日) 21:10:42.20
用紙にきっちり収まるように作られたExcelの表があるんだけど、
Wordにして差込印刷したい。
Excel、Word共に2010使用。
一部テキストボックスで作られてた2003?を2010でセルに罫線つけた。
形式選択してコピペしたら、新しく作った所だけ罫線の間隔が変に。

Excelの表を間隔などそのまま貼り付けて、差し込み印刷に使う方法ありませんか?
よろしくお願いします。
78名無しさん@そうだ選挙にいこう:2014/02/16(日) 21:15:31.59
>>77
データが変わらないなら、図として貼り付けでいいんじゃね?
79名無しさん@そうだ選挙にいこう:2014/02/16(日) 21:56:28.60
>>78
差し込み印刷に使う。データは変わります
80名無しさん@そうだ選挙にいこう:2014/02/16(日) 22:20:38.93
>>76
代替じゃなくて無視
81名無しさん@そうだ選挙にいこう:2014/02/16(日) 22:33:06.00
>>79
表を印刷したいんだろ?

差し込み印刷って表の印刷にはあんま向かんけど。
それとも1レコード1ページなん?

何をどうするのかもうちょっと具体的に書いてくれないとわからんな。
82名無しさん@そうだ選挙にいこう:2014/02/16(日) 22:45:40.48
Wordの差込印刷のようにオレのチンコを複数の女の子に挿入発射できる風俗はどこかにありませんか?
83名無しさん@そうだ選挙にいこう:2014/02/16(日) 22:53:10.20
>>81
セルに罫線をかけて作り、そのセルが差し込みデータの位置になります
差込データは一枚にたくさんあり、セルは結合した所がたくさんあります
役所の申請用紙みたいな感じといえば伝わるかな?
84名無しさん@そうだ選挙にいこう:2014/02/16(日) 22:56:51.52
>>83
普通にワードで表作ってそこに必要な項目を差し込むしかないよ
エクセルから貼り付けてそのまま使うとかいう方法はない

差し込み印刷ってのは、データをエクセルで管理し、
帳票印刷をワードでする、っていうものだから。
85名無しさん@そうだ選挙にいこう:2014/02/16(日) 23:03:36.84
>>84
やっぱり一から作るしかないですか
罫線の間隔とか色々微調整が必要なので大変だ…
管理するデータはもちろん別にありますよ

検索すると同じ質問はあるけど、解決してないのは未だにできないって事なんですね
ありがとうございました
86名無しさん@そうだ選挙にいこう:2014/02/16(日) 23:07:09.78
Excelのデータをそのまま印刷すればいいのでは・・・?
87名無しさん@そうだ選挙にいこう:2014/02/16(日) 23:12:25.48
>>75
y=f(x1)ならリンク先の方法で上手くんでしょうね。
>範囲をまるごと参照して同エラー以外同じものを作るという手も
どうもそういう手しかない感じですね。

>>76
合計を求めるとかならゼロでも入れておけばいいんでしょうが、
多項式の近似式の係数を求めようとしているので、代替値を入れると
結果が変わってしまうので駄目なんです。

レスありがとうございました。
88名無しさん@そうだ選挙にいこう:2014/02/16(日) 23:14:57.22
>>85
印刷物の、表以外の部分が
エクセルのヘッダ・フッタとか、タイトル行で代用できるんであれば
エクセルでそのまま印刷できるんじゃねの?
89名無しさん@そうだ選挙にいこう:2014/02/17(月) 04:56:20.74
Excelで置換をやる場合、タブはどのように入力すればいいでしょうか
たとえば「あ」を「タブコード」に変換したい場合です。
このような場合、エディターだと検索文字を「あ」
置換文字を「\t」でできますが、Excelだとどうすればいいですか
よろしくお願いします。
90名無しさん@そうだ選挙にいこう:2014/02/17(月) 09:51:44.84
>>89
調べたけど無いっぽい
タブを"c"に全て置換するマクロ

Sub a()
Dim b As String
b = Chr(9)
Cells.Replace What:=b, Replacement:="c", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
91名無しさん@そうだ選挙にいこう:2014/02/17(月) 10:05:02.03
>>88
文章だけのページと一緒に印刷したいのかもよ
92名無しさん@そうだ選挙にいこう:2014/02/17(月) 10:07:28.32
>>91
それなら逆に、Excel側を主にしてそこにワード文書を貼り付ければいい
93名無しさん@そうだ選挙にいこう:2014/02/17(月) 10:24:10.20
のほうが圧倒的に楽だよね
まぁ、会社の事情というのもあるかもしれない。ガンバレー
94名無しさん@そうだ選挙にいこう:2014/02/17(月) 10:53:26.90
>>90
どうもです。そちらでやってみます
95名無しさん@そうだ選挙にいこう:2014/02/17(月) 14:20:15.49
>>89
メモ帳でTABしてコピペ
96名無しさん@そうだ選挙にいこう:2014/02/17(月) 18:59:56.07
置換はwordの方が高機能なのでそっちでやることがときどきある
半角>全角変換とか
97名無しさん@そうだ選挙にいこう:2014/02/17(月) 19:05:59.49
ワードの曖昧置換機能は侮れない
http://www.siminpc-kitakyushu.com/swfu/d/20130109word05.JPG
っていうかExcelに欲しい

ワードがうんこすぎるからこの昨日をvbaで実装せざるを得ない悲しさ
98名無しさん@そうだ選挙にいこう:2014/02/17(月) 20:09:28.93
>>89
罫線が保存できないとかブックではなくなるとかの問題があるけれど、
SYLK形式で保存し、データをテキストにしてエディタで置換とか?

しかし、そもそもExcelの一つのセルの中にTabを入れられるの?
99名無しさん@そうだ選挙にいこう:2014/02/17(月) 20:17:59.11
char(9)、そしてコピペで値を保存で可能なとこまでは確認したよ
100名無しさん@そうだ選挙にいこう:2014/02/17(月) 22:00:12.89
"で括ればエディタからのコピペも可
なお、使い道は不明
101名無しさん@そうだ選挙にいこう:2014/02/17(月) 22:55:39.44
タブを置換てできるか?
俺は無理だった
102名無しさん@そうだ選挙にいこう:2014/02/17(月) 22:57:10.69
>>101=90
色々できそうで、意外とできない
参ったね
103名無しさん@そうだ選挙にいこう:2014/02/17(月) 23:00:49.59
>>86,88
そのまま印刷とはどういう事でしょう?
役所の書類みたいに記入する所が枠で囲ってあり、
AさんからDさんまでのデータが別のExcelにあり、一行分が一枚に印刷する内容になってます
104名無しさん@そうだ選挙にいこう:2014/02/17(月) 23:16:52.67
>>103
それなら行単位でまとめて持って来るんじゃなくてセル単位で1マスずつ参照するように作り直せ

エクセルは印刷の精度が低すぎるから、罫線は絶対にずれる
これ豆な
10589:2014/02/18(火) 06:49:37.78
秘密の改行キー「Ctrl」+「J」
ttp://pc.nikkeibp.co.jp/article/NPC/20070626/275918/
「検索と置換」で、「Ctrl」キーを押しながら「J」キーを押すことで、
検索や置換の対象として「改行」を指定できる。
入力欄には何も表示されないが、これで「改行」を意味する何かが指定されるのだ。

これと同じように、タブコードのキーがあるのかと思って質問しました
でも、ないみたいですね。素直にエディターでやりたいと思います。
106名無しさん@そうだ選挙にいこう:2014/02/18(火) 11:40:11.55
「Ctrl+アルファベット」は制御コードの入力
30年以上前、パソコンが発明される前からあった方式
昔のキーボードにはEnterキーもTabキーもなくて、Ctrl+英字キーで操作していた

その名残がWindowsでもあちこちに見られる
ほとんどの組み合わせはショートカットに奪われてしまったけど、いくつかはゾンビのように残っている
改行はCtrl+J、タブはCtrl+Hだけど、ExcelではなぜかJだけが使えるようだ
107名無しさん@そうだ選挙にいこう:2014/02/18(火) 12:54:22.38
>>106
C-hはバックスペースじゃなかったのか?
C-j→LF、C-m→CRとか
108名無しさん@そうだ選挙にいこう:2014/02/18(火) 14:20:20.95
ああそうだった
Ctrl-HがBackSpace、Ctrl+IがTabだ
たぶんググれば一覧が出てくる
109ぴころ ◆lHG3Yzo0a6 :2014/02/18(火) 17:13:33.43
このスレはお年寄りが多いのでしゅ(^▽^)
110名無しさん@そうだ選挙にいこう:2014/02/18(火) 17:54:00.29
年寄りじゃなくても、emacs使ってると今でもC-hとか普通に使うし
111名無しさん@そうだ選挙にいこう:2014/02/18(火) 18:37:24.12
【1 OSの種類         .】 Windows7、XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

日毎・月毎の売上をExcelで管理しています。
2014XX_店舗01、02….xlsに各店舗の売上を入力し、マスターで閲覧するようにしています
各xlsファイルには1日から31日までの売上データが入っています。
このセル内の参照先をマスター側で変数とし、月を切り替えるような仕様にしたいのです。
INDIRECT関数だと参照先も開いておかなければならないので
他の関数またはVBAで処理したいのですが良い方法はないでしょうか
112名無しさん@そうだ選挙にいこう:2014/02/18(火) 19:29:51.24
113名無しさん@そうだ選挙にいこう:2014/02/18(火) 19:35:58.29
そういうのはシートやファイルに分けないでいっこのシートに入れればいんだよ
で、ピボットで集計する
114名無しさん@そうだ選挙にいこう:2014/02/18(火) 21:21:25.27
>>104
きれいな表計算の印刷なら三四郎だな
エクセルはプレビューさえイイカゲン
115名無しさん@そうだ選挙にいこう:2014/02/18(火) 21:23:23.42
1つのbookでsheet参照を考えてみては?
116名無しさん@そうだ選挙にいこう:2014/02/18(火) 23:25:10.89
>>112-115
ありがとうございます。直接は関係なかったので後出しになりますが
元々1ファイルで管理してまして、Excelの仕様上共有する事で読み取り専用になる
→店舗毎にファイルを分けてクラウドで管理→競合がやたらと発生する
→1ファイルを閲覧用、他を入力用にする事で競合問題を解決したい
…という過程を経ておりまして。

セキュリティ的にまずいものは入れておらず、極力利便性を優先するため
串刺し計算するような形で集計する方向で行きたいなと。
最終的なデータはマスター上でピボット集計しようとは思っています。
とりあえず>>112のやり方でテストしてみようと思います。
117名無しさん@そうだ選挙にいこう:2014/02/18(火) 23:32:43.13
>>116
googleスプレッドシートオススメ。常に保存・更新されるから競合がほぼ起きない
http://www.google.com/drive/apps.html
118名無しさん@そうだ選挙にいこう:2014/02/19(水) 18:46:17.71
【1 OSの種類         .】 Windows7 sp1
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可


「snow.xls」に以下のようなリストがあります。

鈴木●郎 埼玉県秩父市●●● A型
佐藤●子 長野県軽井沢町●● AB型
田中●雄 山梨県甲府市●●● O型
山本●代 群馬県富岡市●●● B型
高橋●夫 群馬県富岡市●●● B型
・・・・・
・・・・・

これを次のようなフォーマットでA4の紙に印刷したいのですが、どのようにしたらよいでしょうか?
---------------------------------
鈴木●郎様   A型
埼玉県秩父市●●●

このたびは大雪の影響で・・・(略

---------------------------------
佐藤●子様 AB型
長野県軽井沢町●●

このたびは大雪の影響で・・・(略
---------------------------------
119名無しさん@そうだ選挙にいこう:2014/02/19(水) 19:09:22.00
>>118
wordの差し込み印刷を使う
wordを持ってるなら「word 差し込み印刷」でぐぐれ。きっと生涯役に立つ

もしwordをもっていないならExcelで頑張れ
inndexが役に立つ。nyuuryokuシートに入力し、insatuシートのA1が番号になる
http://www.dotup.org/uploda/www.dotup.org4886205.xls
あとは大体わかるだろう。
数百件あるならvbaを使えば良い。その時はまたクレば教えてあげる
120名無しさん@そうだ選挙にいこう:2014/02/19(水) 21:27:07.14
>>116
昔で言えばシェアクローズね
複数のクライアントからオープンする場合、たんびたんびopen-rewrite-closeする手法を使った
今はlanに対応したexcelじゃないのかな?
121名無しさん@そうだ選挙にいこう:2014/02/19(水) 23:16:01.56
よろしくお願いいたします
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
A1セルに ○○○○○○○○m○○ と入力されています
A2セルにも ○○○○○○m○○○○ と入力されています
A3以下も同じように入力されています
○の部分は漢字、ひらがな等で文字数はセルにより違います
全てのセルに○○○○mという距離が入力されているのですが
この距離の数字部分だけを抽出する方法を教えてください
数字で4桁で何千何百メートルって感じで入力してあります
例)○○○○○○2500m ○○○○
こんな感じです
どうぞよろしくお願いいたします
122名無しさん@そうだ選挙にいこう:2014/02/19(水) 23:21:45.15
>>121
データ 区切り位置 固定長じゃない方 その他 m
123名無しさん@そうだ選挙にいこう:2014/02/19(水) 23:37:36.15
>>122
素早く回答してもらったのにすいません
抽出した数字をだけをA1ならB1にA2ならB2に関数で入力できるようにしたいです
124名無しさん@そうだ選挙にいこう:2014/02/19(水) 23:43:09.24
>>121 前の方の○○って部分に半角の"m"が含まれないという前提ならば
=MID(A1,FIND("m",A1)-4,4)*1
でいけると思う。(A列が処理対象の文字列)
125名無しさん@そうだ選挙にいこう:2014/02/19(水) 23:43:23.63
>>123
123mの場合は?
また
○○○○○2500m ○○○○
とあるけどはんかくすぺーすがあるの?
126名無しさん@そうだ選挙にいこう:2014/02/20(木) 00:45:29.54
数字4桁でって書いてあるじゃん
127名無しさん@そうだ選挙にいこう:2014/02/20(木) 00:48:37.60
>>124
ありがとうございます
やってみます
>>125
数字は4桁です
半角スペースは入力ミスです
124さんのやり方でやってみます

ありがとうございました
128名無しさん@そうだ選挙にいこう:2014/02/21(金) 11:16:53.35
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

テキストファイルに式が書かれているのですが、その式は
1+1
3×4
1÷2
の様に全角でしかも掛ける・割るが*・/で無いのです。
一応置換はSUBSTITUTEでできたのですが、その置換の結果の式で計算ができません。
どうやったら、計算式にして計算結果を得られるのでしょうか。

テキストエディタで置換して=を追加してたのですがエクセルだけで解決できないものかと。
129名無しさん@そうだ選挙にいこう:2014/02/21(金) 11:41:51.53
>>128
A1:A3の範囲を〜
+0としてるのは「1/2」が日付になるため
Sub a()
Range("A1:A3").Select
Range("A3").Activate
For Each b In Selection

b.Value = Replace(b.Value, "×", "*")
b.Value = Replace(b.Value, "÷", "/") & "+0"
b.Formula = "=" & StrConv(b, 8)
Next
End Sub
130名無しさん@そうだ選挙にいこう:2014/02/21(金) 12:50:30.86
>>129
どうもです。
このマクロですと、場所が決め打ちになるのが気になりました。
まぁ、個人使用なので、決め打ちでもいいのですが。
ユーザー関数化しようとしたのですが、なんかうまく行かず。(汗)

SUBSTITUTEで置換するところまで行ったので、それを活かせないかなと。
最初から、マクロ不可にしとけよって思うかもですが。
すみませんが、教えてください。m(__)m
131名無しさん@そうだ選挙にいこう:2014/02/21(金) 12:54:00.44
あ、そうか…
変換して計算するセルに関数入れるなんてパラドックスじゃん。
いま、気づいた。
だめじゃん、俺。orz
132名無しさん@そうだ選挙にいこう:2014/02/21(金) 14:24:52.58
indirect使えばマクロ無しでできそう。
133名無しさん@そうだ選挙にいこう:2014/02/21(金) 14:32:59.98
>>130
Function a(b)
b = Replace(b, "×", "*")
b = Replace(b, "÷", "/") & "+0"
b = "=" & StrConv(b, 8)
result = Evaluate(b)
a = result
End Function

暇だから練習がてら作ってみた
にょうじゅんもじゅーるにいれて
134名無しさん@そうだ選挙にいこう:2014/02/21(金) 18:44:16.82
>>132
それが、うまくいかないんだ…(´・ω・`)
>>133
どもです。
チョット別な用事が出来たので、手が空いたら試してみます。
有難う。
135名無しさん@そうだ選挙にいこう:2014/02/21(金) 19:02:42.07
全角→半角の関数はある
その前後に置換関数を入れ、
="="&に繋げばvbaなしでok
136名無しさん@そうだ選挙にいこう:2014/02/21(金) 19:44:49.93
>>128
その式の最後に*1加えれば計算する場合があるが
137名無しさん@そうだ選挙にいこう:2014/02/21(金) 20:24:51.88
>>132
すまん
indirectはセル参照しか返さないみたい
マクロなら>>133のevaluate使うのがいいと思う

ワークシート関数だと、2項だけなら、
ascして、findで演算子探して、left/rightとかで両側切り出して、それぞれintして…
で、できなくもない。すげー力業だけど。
138名無しさん@そうだ選挙にいこう:2014/02/21(金) 20:48:50.04
>>134
置換までいけてるんなら、後は別列で名前の定義を活用すればいいんじゃね?
139名無しさん@そうだ選挙にいこう:2014/02/22(土) 07:07:15.14
つか、元々マクロ不可じゃないんだし>>133で良いじゃん
140名無しさん@そうだ選挙にいこう:2014/02/22(土) 11:48:48.39
【衝撃の事実】 マウスポインタ、歪んでることが判明!! 今まで気付かなかったwwwwwwwwww
http://inazumanews2.com/archives/36523533.html
141名無しさん@そうだ選挙にいこう:2014/02/22(土) 12:21:41.66
見ればわかるだろ 
142名無しさん@そうだ選挙にいこう:2014/02/22(土) 19:39:01.19
エクセル初心者ですが
シートが20シートほどあるブックで下のシートタブをクリックせずにキー入力やコマンド入力でして指定シートを一発で開く方法はないのでしょうか
名前ボックスというところでシートも指定操作可能ですか?
マウスクリックですと時間がかかるし押し間違いも多いので数値で1発指定できればいいという考えです。
VBAでやれば出来るのはわかりますが、社内でVBA使用禁止の場合もあるので、現状のインタフェーズ上で出来ればなおよいと思っています。
143名無しさん@そうだ選挙にいこう:2014/02/22(土) 19:58:36.11
一発指定は無理
キー操作ならCtrl-PageUp/Downで左右に移動できる。ちなみにマウスの戻る進むに割り当ててるけどすげー捗る
あと、シート移動するボタン(こんなやつ→《〈〉》)右クリックしたらシートの一覧出てこなかったっけ?
144名無しさん@そうだ選挙にいこう:2014/02/22(土) 21:41:15.86
>>142
リンクつくれば?
145名無しさん@そうだ選挙にいこう:2014/02/22(土) 23:05:23.24
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

グラフについて質問なんだけど
データの範囲が4-5000以上のグラフを作ると軸のオプションが自動だと
始点が0から始まって潰れたグラフが出来るんだけど他の人もそうですか?
146名無しさん@そうだ選挙にいこう:2014/02/22(土) 23:31:08.67
>>145
はい
147145:2014/02/22(土) 23:44:15.63
>>146
対策として手動で軸のオプションの幅を変える以外にないでしょうか?
毎回の事なのでデータ個数が少ないときのように自動で設定してほしいのですが
148名無しさん@そうだ選挙にいこう:2014/02/23(日) 00:49:16.66
同じグラフを毎回作るならマクロとかテンプレとか
149145:2014/02/23(日) 01:17:53.45
>>148
現状、グラフはマクロで作ってます
グラフの系列や種類は同じなので問題はないのですが
データの数値は毎回全然違うので軸の幅を固定値にするわけにはいかず
自動で設定したいのですが上記のように始点が0からになってしまいます
150名無しさん@そうだ選挙にいこう:2014/02/23(日) 02:09:10.73
>>149
マクロなら工夫すれば数値の違いに対応できるだろ
151145:2014/02/23(日) 02:39:22.26
>>150
自分の方で対応するしかないみたいですね
データを増やしたらグラフの挙動が変わったので質問した次第です
ありがとうございました
152名無しさん@そうだ選挙にいこう:2014/02/23(日) 02:55:02.23
>>151
誰に対応してもらおうと思ってたの?
153145:2014/02/23(日) 02:57:08.01
>>152
エクセルの設定にですけど
154名無しさん@そうだ選挙にいこう:2014/02/23(日) 10:09:00.79
>128
textcalcを入れれば可能です。
netで検索書ければ出てきます
155名無しさん@そうだ選挙にいこう:2014/02/23(日) 22:47:14.90
【1 OSの種類         .】 WindowsME
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
初心者です。エクセルで日数計算で○年○ヶ月○日という方法は分かったのですが、
例えば2年6か月を2.5年などと表示させる方法が分かりません。
ネットや本を見た範囲ではわからず、どなたか親切な方教えていただけませんか。
156名無しさん@そうだ選挙にいこう:2014/02/23(日) 22:53:01.78
>>155
エクセル 日付 計算 年 小数点
でぐぐってみて
157名無しさん@そうだ選挙にいこう:2014/02/23(日) 22:55:39.40
うーみ、、月数/12としたらどうでせう?w
158名無しさん@そうだ選挙にいこう:2014/02/23(日) 23:03:06.74
>>156
それで検索したら方法が出てきました。ありがとうございます。

>>157
その方法で試してみました。あってはいるんですが自分の求めるものとは少し違いました。ありがとうございます。
159名無しさん@そうだ選挙にいこう:2014/02/24(月) 10:08:40.66
【1 OSの種類         .】 Window
【2 Excelのバージョン   】 Excel2010,2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
散布図で、地図を下地に経度緯度データをリストからvlookupで取得して、プロットしたいのですが、
vlookupで取得したデータが重複した場合に緯度か経度に一定数を足したいのですが、如何したらいいですか
教えてください。お願いします
160名無しさん@そうだ選挙にいこう:2014/02/24(月) 10:11:52.16
>>159
【1 OSの種類         .】 Window7 です。
161名無しさん@そうだ選挙にいこう:2014/02/24(月) 10:17:19.75
ファイルがないとどんな状態かよくわからない。

今の情報だと
>vlookupで取得したデータが重複した場合に緯度か経度に一定数を足したい
vlookupで取得したデータが重複した場合に緯度か経度に一定数を足せばいい、としか営内
162名無しさん@そうだ選挙にいこう:2014/02/24(月) 10:59:15.03
氏名   町名 緯度    経度
鈴木  ●▼町 □度    △度
左藤   ◎町 ★度    ☆度
山本  ●▼町 □+0.001度 △度 
伊藤  ●▼町 □+0.002度 △度

※緯度、経度は他の町名リストから検索表示、●▼町の位置がダブるので、ダブりを
回避したいのですが
163名無しさん@そうだ選挙にいこう:2014/02/24(月) 11:25:51.12
>>162
それはダブるのが当然であって、
それによって不具合が生じると言うならば
そのデータの構造そのものが間違ってる
そもそも。町名と緯度経度は同じ意味合いの情報なんだから
(町名と緯度経度が1対1で対応している)
わざわざ緯度や経度の情報に余計なことをすべきではない
164名無しさん@そうだ選挙にいこう:2014/02/24(月) 11:35:18.74
>>162
氏名 町名 緯度 経度 プラス 緯度プラス 経度プラス
鈴木 ●▼町 □ △ FALSE □ △
左藤 ◎町 ★ ☆ FALSE ★ ☆
山本 ●▼町 □ △ 0.004 □+0.004 △+0.004
伊藤 ●▼町 □ △ 0.005 □+0.005 △+0.005

E2=IF(AND(COUNTIF($C$1:C2,C2)>1,COUNTIF($C$1:C2,C2)>1),ROW()/1000)
F2=C2+E2
G2=D2+E2

緯度プラス 経度プラス を使う
緯度プラス 経度プラス が更に被る可能性もあるが、こんなもんどうしようもない。VBAしかない
165名無しさん@そうだ選挙にいこう:2014/02/24(月) 11:42:29.27
VLOOKUPで、日付がシリアルになること、#N/Aや0になるのがイヤです。
これを防ぐにはどうしたらいい?
VBA使うしかなさそうなら、そのコードを教えていただきたいのですが。
166名無しさん@そうだ選挙にいこう:2014/02/24(月) 11:59:05.57
>>165
どうにもならない
日付はtext()を使う
エラーはifやiferror分岐させる

vbaで自作関数を作るのもいいけど、めんどくさいから自分で頑張れ
大体こんなかんじでラップする。
function vlookup2(a,b,c)
if 条件 then
result = Application.WorksheetFunction.vlookup(a,b,c)
else
result = Application.WorksheetFunction.vlookup(a,b,c)
end if
vlookup2 = result
end
167165:2014/02/24(月) 12:10:49.30
>>166
ちなみにそのvlookup2の返り値の型はなに?
もしStringなら、どうやって書式(日付)も移す?
168 ◆upmIvMVKO6 :2014/02/24(月) 14:08:58.55
【1 OSの種類         .】 Windows XP,8,8.1
【2 Excelのバージョン   】 Excel2013,2010,2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

16桁の数字の表示形式で4桁ごとにスペースをいれるには?
クレジットカード番号など16桁の数値の入力で、
書式設定から表示形式を文字列にして、入力をしています。
入力後、4桁ごとにスペースを空けて表示することは可能でしょうか。

012345678901234567 を 0123 4567 8901 2345(#### #### #### ####)
ですと、数値に扱われますので、最後の1桁が「0」になってしまいます。
別列で文字として扱う分にはできたのですが、別列などを使わずに、A列だけを対象にして
VBAだけで実現は可能でしょうか?
「A列に入力された16桁の数字は上記のように4桁ごとスペースを入れて表示する」というVBAの処理方法になります。
169名無しさん@そうだ選挙にいこう:2014/02/24(月) 14:45:25.77
>>167
ウオッチ式ぐらいは使ってね
書式の取得と反映はテキトーに検索でもかければいいんじゃないか
もいラッパーで作れそうに無ければ1から作ったほうが早いかも
俺はめんどいから作らんしだれも作らないと思う
>>168
無理。
文字入力→数値なら頭の0を取る→vbaの Worksheet_Changeイベントと言う流れになっているので、
頭の0が消えないようにするには予め文字で書式設定をしておかなくてはならない
その上で以下
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Selection.NumberFormatLocal = "@"
Target.FormulaR1C1 = Mid(Target.Value, 1, 4) & _
" " & _
Mid(Target.Value, 5, 4) & _
" " & _
Mid(Target.Value, 9, 4) & _
" " & _
Mid(Target.Value, 13, 4)
Application.EnableEvents = True
End Sub

つづく
170名無しさん@そうだ選挙にいこう:2014/02/24(月) 14:46:14.11
つづき

もしくはinputboxでnyuuryokuするかのどっちか。これなら書式設定を設定しておかなくても問題ないが、inputboxを呼ぶ手間がかかる
どっちでも好きな方を
Sub Macro2()
Selection.NumberFormatLocal = "@"
a = InputBox("16keta")
ActiveCell.Value = Mid(a, 1, 4) & _
" " & _
Mid(a, 5, 4) & _
" " & _
Mid(a, 9, 4) & _
" " & _
Mid(a, 13, 4)
End Sub
171名無しさん@そうだ選挙にいこう:2014/02/24(月) 14:46:47.18
>>169
Selection.NumberFormatLocal = "@"
これいらなかったわ。まぁ会っても問題ないしどうでもいいわ
172 ◆upmIvMVKO6 :2014/02/24(月) 15:14:44.09
>>169-171 早速ありがとうございます。無事できました^^
対象範囲(VBAの有効範囲)を特定の列(F列)だけというのは難しいでしょうか?
173169じゃありませんが:2014/02/24(月) 15:19:24.24
>>168
If (Target.Column <> 1) Then Exit Sub  A列:1、F列なら6にする

条件を「16桁以内の数字を入力し、16桁に満たないものは頭にゼロを付して16桁とみなす」
と変えることができれば、169さんのマクロの途中に
Target.Value = Right("000000000000000" & Target.value, 16) を加えるだけでいいですよ。
あと、入力チェックに「小数点の数字は無視(加工しない)」も入れるならば、
If Not(Target.Value Like "################") Then Exit Sub
という条件式を加えるといいです。#はLike演算子の文字パターンで任意の1文字の数字(0-9)です。
16個連ねることで16桁の(小数点を含まない)数字のときだけ加工できます。
174 ◆upmIvMVKO6 :2014/02/24(月) 15:26:32.36
>>173様 ありがとうございます。
すみません、どこに行に追加すれば良いのか^^;
>169-171様の構文を元に追加ので再構文をしていただけないでしょうか?
175 ◆upmIvMVKO6 :2014/02/24(月) 15:31:09.64
連投すみません、追加条件の全部入りでお願いします <(_ _)>

If (Target.Column <> 1) Then Exit Sub  A列:1、F列なら6にする
Target.Value = Right("000000000000000" & Target.value, 16) 
If Not(Target.Value Like "################") Then Exit Sub
176173:2014/02/24(月) 19:49:07.82
>>175 169さんのプログラムに一部変更を加えました。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wk As String
  Application.EnableEvents = False
  If (Target.Column <> 1) Then GoTo Exit_Sub ' A列:1、F列なら6にする
  wk = Right("000000000000000" & Target.Value, 16) ' 16桁未満のとき頭にゼロを付けて文字列へ
  If Not (wk Like "################") Then GoTo Exit_Sub '16桁全部数字か
  Target.FormulaR1C1 = _
  Mid(wk, 1, 4) & " " & Mid(wk, 5, 4) & " " & Mid(wk, 9, 4) & " " & Mid(wk, 13, 4)
Exit_Sub:
  Application.EnableEvents = True
End Sub
プログラムは↑まで。以下解説。
F列への入力のときに実行したいのであれば、If (Target.Column <> 6) Then GoTo Exit_Sub とする。
最初に Application.EnableEvents = False を実行しているので、条件に合わない場合でも
Application.EnableEvents = True を実行する必要があるため、Exit_Sub: というラベルを追加
するとともに、Then Exit Sub を Then GoTo Exit_Sub に変更。
頭にゼロを付けたものをそのまま保持するために、文字列変数wkを新設。
177名無しさん@そうだ選挙にいこう:2014/02/24(月) 20:08:37.99
>>154
あれれ…有るんだ。(;´Д`)
そーゆーの探して検索したんだけど、みつからなかったんだ。
明日、試してみる。
共でした。( ´Д`)ノ~バイバイ
178167:2014/02/24(月) 22:59:43.33
>>169
それは困るじゃないか。
あなただけが頼りなんですよ。
179 ◆upmIvMVKO6 :2014/02/25(火) 16:28:22.75
>>173様 すみません御礼が遅くなりました。ありがとうございました。
大変勉強になりました。<(・∀・)> 
180名無しさん@そうだ選挙にいこう:2014/02/26(水) 13:48:36.99
Microsoft、「Microsoft Office 2013 Service Pack 1」を公開
ttp://www.forest.impress.co.jp/docs/news/20140226_636988.html
181名無しさん@そうだ選挙にいこう:2014/02/26(水) 22:45:25.51
XP終了に伴って、Win7マシンを買いました。
XPには2003、2007、2010をインスコしています。
このXPから2007と2010をアンインスコしてWin7マシンに
インスコするには、どういう手順を踏めばいいですか?
182名無しさん@そうだ選挙にいこう:2014/02/26(水) 22:59:32.53
183名無しさん@そうだ選挙にいこう:2014/02/27(木) 05:58:09.29
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003 SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

任意のセルの値を簡単に変更する方法を教えてください。
例えば商品Aの数を37から38、商品Zの数を3から1など少ない数値だけ増減する
作業が頻繁にあるときに、マウスから手を離さずにすばやく行える方法を探しています
よろしくお願いします
184名無しさん@そうだ選挙にいこう:2014/02/27(木) 06:31:40.79
>>183
まあ考えると、そういう超初心者的な操作を実現する為に
VBAしか無いっていうパラドックスなんだよな

簡単なんだけどね
185名無しさん@そうだ選挙にいこう:2014/02/27(木) 07:29:21.42
>>183
表の形式がよくわからないのでなんともいえないけど、条件でフィルタリングして、
形式を選択して貼り付けで演算のところをごにょごにょすればいいんじゃない?
186名無しさん@そうだ選挙にいこう:2014/02/27(木) 09:07:46.58
>>183
そういう時、普通はスピンボタンを埋め込むんじゃないかな
http://itpro.nikkeibp.co.jp/article/COLUMN/20070905/280997/
187183:2014/02/27(木) 09:57:47.08
みなさんいろいろありがとうございます。
教えていただいたリンクから探ってみます。
188名無しさん@そうだ選挙にいこう:2014/02/27(木) 11:52:17.65
マクロ+ショートカットキー+マウスにボタン割り当てか?
大掛かりだのう
189名無しさん@そうだ選挙にいこう:2014/02/27(木) 14:26:52.55
簡単でわかりやすいインターフェースは、作ってみると大抵大がかりで面倒な処理になる
190181:2014/02/27(木) 19:26:50.73
>>182
リンクだけ貼られると怖くてクリックできませんw
言葉で表現してください。
191名無しさん@そうだ選挙にいこう:2014/02/27(木) 19:37:14.94
>>190
エクセル アンインストールでぐぐれ
192181:2014/02/27(木) 20:06:19.31
>>191
アンインスコのやり方は知っています。
XPマシンからアンインスコし、Win7マシンに再インスコする手順が知りたいんです。
193名無しさん@そうだ選挙にいこう:2014/02/27(木) 20:57:09.26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
セルの書式設定の表示形式からユーザー定義を選ぶと、
数字の前や後ろに同セル内で単位をつけることができますが、
(例:10個の「個」、3本の「本」、110円の「円」など)
これを「条件付き書式」の「条件を満たした後のスタイル」でも
できないでしょうか?

自分でいろいろ試してみたところ、
フォントサイズや色や太字は「条件を満たした後」のスタイルに
反映できたんですが、表示形式のユーザー定義だけは
反映されないっぽいんです
操作が間違ってるのでしょうか?
それともできない仕様なんでしょうか?

とりあえず、20セルほど離れたセルにある条件(式、
さらに別のセルを見てAかBか決める)を満たしたら
手入力用セルに「10」と入力したら「10A」
満たさなかったら「10B」と表示したいのですが…
ちなみに印刷前提の表で、印刷幅がぎりぎりで
「このセルの幅を減らしてAB表示用の列を挿入」ってのは
ちょっと難しい状況です
よろしくお願いします
194名無しさん@そうだ選挙にいこう:2014/02/27(木) 21:19:36.00
>>193
表示形式にユーザー書式なんて使えたのか、知らなかった
いままで塗りつぶしぐらいしか使ってなかったな

http://www.dotup.org/uploda/www.dotup.org4901289.png
1001より大きければ日付で表示
http://www.dotup.org/uploda/www.dotup.org4901285.png
2010だけど、適用されてる
何かしら操作を間違えてるんだろう。頑張れ
195名無しさん@そうだ選挙にいこう:2014/02/27(木) 21:20:13.68
1000より大きければ、だった
196名無しさん@そうだ選挙にいこう:2014/02/27(木) 21:22:04.29
>>193
あー、ごめん思い出した
条件付き書式よりユーザー書式が優先されるんだった。vba使わないとどうにもならんよこれ
条件付き書式を使いたければユーザー書式を解除するしかない
197名無しさん@そうだ選挙にいこう:2014/02/27(木) 21:37:30.95
>>193
2003はVBAじゃないと無理なんだそうです
http://sp.okwave.jp/qa/q4613279.html

それか、入力欄を別シートか印刷欄外に作って
印刷範囲にその条件で表示するようにするのはダメなの?

数値を参照したいなら、参照の入力欄を変更すれば済むんですし
198名無しさん@そうだ選挙にいこう:2014/02/27(木) 21:46:25.61
シート1
A1  B列  C列
田中 初雄 5
松本 泰男 4
山田 孝雄 3

シート2
A1  B列  C列
松本 泰男 10
田中 初雄 9
山田 孝雄 4

シート2の松本泰男さんの値10がシートAの松本泰男さんのデータから比べて
どれだけ増えたかを二つのシートを使って比較してD列に表示したいのですが
計算式をご教授ください
もちろんデータは降順なので同じ列行にあるとは限らないです&#62914;
199名無しさん@そうだ選挙にいこう:2014/02/27(木) 21:51:38.98
田中 初雄 5 田中初雄 10 5
松本 泰男 4 松本泰男
山田 孝雄 3 山田孝雄

D列は結合
E1=INDEX(Sheet2!C1,MATCH(Sheet1!D1,D:D,0))
F1=E1-C1
200193:2014/02/28(金) 01:37:21.12
>>194-197
ありがとうございました
別の方法を探してみます
ぎりぎりのレイアウトをなんとかして無理矢理変更するとか
他のアプローチで似たような表示結果を実装するとか
がんばってみます

VBAは不勉強もあるのですが、それ以前に
Excel2010の人が、他人の作ったVBA使用シートを
メールやHTTP、FTP経由で渡されると
危険なファイルからの保護機能とやらで
編集不能にされるらしいので、クレームがついてるんですよ
201田舎の事務員:2014/02/28(金) 08:03:13.73
皆様宜しくお願いいたします

EXCEL 2010にてファイル保存の際CSVかテキスト形式しか選択できなくなりました
以前は2003形式とかいろいろ選べていたのですが・・・・
クラシックアドインを使用しています
202名無しさん@そうだ選挙にいこう:2014/02/28(金) 11:09:29.70
>>201
ファイルの修復を試してみるとか、別のフォルダに保存してみるとか、新規ブックに内容をコピーしてみるとか
203名無しさん@そうだ選挙にいこう:2014/02/28(金) 11:10:27.81
>>200
職場の規模(そのVBAを配布する人数)はどれくらい?
204名無しさん@そうだ選挙にいこう:2014/02/28(金) 12:30:25.82
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003 SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

参考にしたサイト: http://okwave.jp/qa/q8367912.html

上記の質問サイトのマクロを参考にして複数行に相対参照のスピンボタンを置くことができたのですが、
対象のセルの値を直接数値入力で変更した場合に、スピンボタンの「現在値」の値が基準になってしまいます
例えば、スピンボタンを押して値を3にした後に直接入力で100に変更しても、
スピンボタンの上を押すと4になってしまいます。
直接入力した値をスピンボタンに反映しつつ、相対スピンボタンの機能を維持する方法を教えて下さい。
よろしくお願いします。

----引用
sub macro1()
 with activesheet.shapes(application.caller)
  .topleftcell.offset(0, 1) = .oleformat.object.value
 end with
end sub
----引用終わり
205名無しさん@そうだ選挙にいこう:2014/02/28(金) 13:24:55.55
>>201
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14118114014
アドインが原因ということもあるらしい
アドイン外して、それでもダメなら再インストール

クラシックアドイン、そろそろ手放してみては?
俺もアドインは入れないようにしている。クラシックのほうが好きなんだけどね。
最初はダルイけど、一年もあったら慣れるよ
>>204
http://www.dotup.org/uploda/www.dotup.org4902416.xls.html
スピンボタンの中身がいまいちよく分からなかったのでコマンドボタンで作った
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1) = _
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 1) + 1

の意味は
ActiveSheet.Shapes(Application.Caller)
押されたボタン
.TopLeftCell
の左上の角のセル
.Offset(0, 1)
の一つ右のセル(のセルの内容)

このセルに、同じセルの中身を+1してるって意味だ

わけわからんな。
まぁコピペじゃなくて意味を理解してマクロ使えるようになったほうが色々早いぜ
206名無しさん@そうだ選挙にいこう:2014/03/01(土) 00:06:09.37
>>204
めんどくさいので日本語で書きますけど

シートのセレクションチェンジ

スピンボタンの名前を決めておく
決めた名前のシェイプが有れば予め削除する
特定のセルを選択した時
スピンボタンを右側に追加
with
決めておいた名前を付ける
MAXとMINを設定
現在値に選択したセルの値
リンクセルを選択したセル
END with

じゃダメなの?
207名無しさん@そうだ選挙にいこう:2014/03/01(土) 03:17:51.31
>>206
>>205だけど、1分ぐらい考えたけどそれをコードに起こすのは無理だった。
せめてコードで答えてあげて欲しい。
208名無しさん@そうだ選挙にいこう:2014/03/01(土) 11:56:38.57
スピンボタンをコピペで増殖は出来ないけど、
要求される挙動は満たしてると思う。

フォームコントロールじゃなくてアクティブXのほうのスピンボタンで
チェンジイベントじゃなくスピンアップとスピンダウンを使ったコード。

スピンボタンを増やしたときはコードの名前とコード中の
"SpinButton1"の所を"SpinButton2"とか対応する値に変更すれば動く

Private Sub SpinButton1_spindown()
With SpinButton1.TopLeftCell.Offset(0, 1)
.Value = .Value - 1
End With
End Sub

Private Sub SpinButton1_spinup()
With SpinButton1.TopLeftCell.Offset(0, 1)
.Value = .Value + 1
End With
End Sub
209名無しさん@そうだ選挙にいこう:2014/03/01(土) 22:07:21.56
>>207 >>203

なんかきたなくなって恥ずかしいけど、
こういうのはどう?ってことです
思ったより長いからいろいろ省略で

あとは範囲とかいじってどうにかならん?

&#160;&#160;&#160; x = ActiveCell.Row
&#160;&#160;&#160; y = ActiveCell.Column
&#160;&#160;&#160; j = ActiveCell.Value
&#160;&#160;&#160; x1 = Range(Cells(1, 1), Cells(x, y)).Height
&#160;&#160;&#160; y1 = Range(Cells(1, 1), Cells(x, y)).Width
&#160;&#160;&#160; hei = x1 / x
&#160;&#160;&#160; x2 = hei * (x - 1)

&#160;&#160;&#160; For Each objShp In ActiveSheet.Shapes
&#160;&#160;&#160;&#160;&#160;&#160;&#160; If objShp.Name = "Spiner1" Then
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ActiveSheet.Shapes.Range(Array("Spiner1")).Delete
&#160;&#160;&#160;&#160;&#160;&#160;&#160; End If
&#160;&#160;&#160; Next

&#160;&#160;&#160; If x >= 3 And x <= 65536 And y = 2 Then
&#160;&#160;&#160;&#160;&#160;&#160;&#160; With ActiveSheet.Spinners.Add(y1, x2, 13.5, 27)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .Value = j
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .LinkedCell = Cells(x, y).Address
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .Name = "Spiner1"
&#160;&#160;&#160;&#160;&#160;&#160;&#160; End With
&#160;&#160;&#160; End If
210名無しさん@そうだ選挙にいこう:2014/03/01(土) 22:08:16.90
あーほらめんどくさくなったー俺がもしもしだから悪いんだ
211名無しさん@そうだ選挙にいこう:2014/03/02(日) 00:29:16.01
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

分岐後、再び合流があるような樹形図を作成したいのですが調べたところ、
ズマートアートでは作成できないとのことでした。
excelの他の機能でこのような樹形図は作成可能でしょうか。
212名無しさん@そうだ選挙にいこう:2014/03/02(日) 00:56:02.58
>>211
オートシェイプで
213193:2014/03/02(日) 02:26:44.31
【1 OSの種類         .】 WindowsXP〜8
【2 Excelのバージョン   】 Excel○○←むしろバージョンを知りたい
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
193です
先日は>>194-197の皆さんにお答えいただき本当にありがとうございました
使用するExcelをExcel2010に変えて追加で操作したら、とても簡単に定義しなおせました

そこで追加質問なんですが、.xlsで上書き保存する際、
「旧いバージョンのEXCELではこの条件付き書式を使えません」とエラーが出ます
使えないのバージョンは一体「Excel何年」までで、
使えるのは「Excel何年」からなのでしょうか?
自分以外も使うシートで、旧い人は2003のままだったり、
最悪97とかの人も自分の作った.xlsシートを使ってるので、
「ユーザー定義を指定した条件付き書式」が
「この年のExcelまでは使えるぞ」って限界点を知りたいのですが…
よろしくお願いします
214名無しさん@そうだ選挙にいこう:2014/03/02(日) 02:48:38.96
>>213
古い 95、97、2000、XP(2002)、2003
新しい 2007、2010、2013
215名無しさん@そうだ選挙にいこう:2014/03/02(日) 02:49:08.45
>>213
条件付き書式 エクセル 仕様 旧バージョン
辺りでぐぐったら出てくるっぽい
リンク先は読んで兄
216193:2014/03/02(日) 02:57:02.00
>>214-215
ありがとうございました
いい検索ワードが本気で思いつかず、何度も見当はずれな検索ワードと検索結果になったので
思わず質問してしまいました
217名無しさん@そうだ選挙にいこう:2014/03/02(日) 10:12:49.99
EXCEL2007の質問です。

マクロを実行しようとすると、
「セキュリティ設定でマクロが無効にされました〜」のメッセージが出ます。
勝手にマクロを無効にしないようにするには、どう設定したら良いのでしょうか?
「すべてのマクロを有効にする」はチェック済みです。
218名無しさん@そうだ選挙にいこう:2014/03/02(日) 11:09:29.20
>>217
2007の場合は、フォルダを「信頼できる場所」に登録しないと警告が出ます
よく使うフォルダを登録しといて、マクロの入ったExcelファイルは必ずそのフォルダに入れてください
フォルダは複数登録できます
http://www.crystal-creation.com/software/tool/office/excel/security/trusted-lacation/
219217:2014/03/02(日) 11:26:16.32
>>218
レスありがとうございます。
220名無しさん@そうだ選挙にいこう:2014/03/02(日) 12:45:49.12
>>217
知恵袋に、同じような問題でサービスパックとの関係が書かれていたよ。
質問者のお礼の欄みて

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11102435871
221名無しさん@そうだ選挙にいこう:2014/03/02(日) 22:57:28.10
初心者の素朴な質問ですが
セルの書式設定- 表示形式 であら表示される項目で
文字が赤くなっている物がありますがこれは一体何を意味するのでしょうか?!
http://homepage3.nifty.com/gakuyu/excel/syosiki2_fig03.gif
222名無しさん@そうだ選挙にいこう:2014/03/02(日) 23:04:24.32
>>221
素朴な疑問なんですけど、マイナス数値の表示方法のことを言っていますか?
223名無しさん@そうだ選挙にいこう:2014/03/02(日) 23:19:21.25
>>221
書式設定は
プラスの値、マイナスの値、零、文字列
を設定できるよ。具体的にはセミコロンで区切る
文字の色は[赤]なんかでしてもできる

書式設定 マイナス 文字列 エクセル
辺りでググれば設定の仕方も出てくるだろう
224名無しさん@そうだ選挙にいこう:2014/03/03(月) 00:47:45.73
>>222
>>223
ありがとうございます。
何とわかりにくい設定でしょうか書式なので色分けの意味がわからないと
マイナスの記号がついている項目は強制的にマイナス表示に変換しプラスは正数のみを扱う意味かと思ったりしました。
マイナス符号がつかなかったら困りますのでまた設定やり直しだ。。
225名無しさん@そうだ選挙にいこう:2014/03/03(月) 00:55:15.81
>>224
×わかりにくい設定
○あなたの理解力が低い
プログラムの仕様を柔軟に覚えるのもまた、頭の良さです。
非難する前にしっかり覚える癖をつけて下さい。

でなければ誰もが使いやすいと思えるプログラムを一から作りましょう。
226名無しさん@そうだ選挙にいこう:2014/03/03(月) 04:45:00.68
すいません質問なんですが

一つのセル内に複数行を入力したいのですが
セルをクリックした時にそれが全て表示されるようにしたいのです
(ポップアップがありプルダウンの様に表示させたい)
普段は一行だけ見えていればいい状態です


こんな感じにしたいです

aaaaaaaaaaaaaaaaaaaaaa▼←これがクリックしていない状態

aaaaaaaaaaaaaaaaaaaaaa▼←これがクリックした時
bbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccc
dddddddddddddddddddd

入力規制ではないです
いろいろ調べたのですが見つからなかったのでよろしくお願いします。
227名無しさん@そうだ選挙にいこう:2014/03/03(月) 05:12:10.22
>>226
コメント

VBAを使えば実装できるけどちょーめんどくさい
・テキストボックス辺りをセル内容とリンクさせ、セルをクリックした時にvisibleをtrue/false切り替える感じ
228名無しさん@そうだ選挙にいこう:2014/03/03(月) 07:09:17.86
>>227
VBAですか・・・
なんとかやりたいんだけどがんばるしかないかな
もしよろしければ教えてほしいのですが・・・
229名無しさん@そうだ選挙にいこう:2014/03/03(月) 07:21:10.63
>>228
こんなしょーもないことにvba使うのはやめたほうがいいと思うけどなー
キリがない。
どうでもいいけどな

vbaは
http://excelvba.pc-users.net/
このへんでも見て頑張って
それか「vba 入門」とかでぐぐって
どうしても分からなかったらまた聞きに来たらいいと思う
230名無しさん@そうだ選挙にいこう:2014/03/03(月) 08:20:06.46
>>226
>>227さんも言ってるけど、
VBAを使ってコメントにセルの内容を入れちゃえば良いんじゃない?
"Excel vba コメント" でググッたら参考になりそうなページがあった。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_comment.html
231230:2014/03/03(月) 09:57:37.24
>>226
書いてみた
実行したいシートのモジュールに以下のコードを貼り付けたら動くと思う。

Private Sub Worksheet_Change(ByVal Target As Range) 'ワークシートが書き換えられた時にこのマクロが実行される
With Target
If .Find(Chr(10)) Is Nothing Then 'もし"セルの内容"に改行の文字コード(chr(10))が含まれていなければ
.ClearComments 'コメントを削除
Exit Sub '処理終了
End If
'"セルの内容"に改行が含まれていたときだけこの先の処理を行う
If .Comment Is Nothing Then 'もしコメントが無ければ
.AddComment (.Value) '"セルの内容"をコメントとして新規に追加する
Else 'すでにコメントが存在していたら、
.Comment.Text .Value 'コメントを"セルの内容"に書き換える
End If
.Comment.Shape.TextFrame.AutoSize = True 'コメントサイズの自動調整を有効にする
.Comment.Visible = False 'コメントはマウスがセルの上に来たときだけ表示する
End With
End Sub
232名無しさん@そうだ選挙にいこう:2014/03/03(月) 11:13:41.27
>>231
わざわざ書いていただけるなんて・・・
ありがとうございます
VBA自体の使い方分からないので少し調べてきます
また後で来ます
233230:2014/03/03(月) 11:32:01.14
>>232
今更ながらだけど、
>>231のコードだと複数のセルを同時に書き換えるとエラーが出ることに気がついた
(たとえば複数のセルをコピペするとエラーが出る。)

With Target

の次の行に

If .Count > 1 Then Exit Sub'もしターゲット(書き換えられたセル)の個数が1以上なら処理を終了

てのを追加すると複数行を一度に操作しても大丈夫になった
234230:2014/03/03(月) 11:37:01.75
ごめん
細かいことだけど>>233は説明が間違ってた
判定条件は「1以上なら終了」じゃなくて「1より大きいなら終了」です
(コード自体は問題ないと思う)
235230:2014/03/03(月) 16:37:55.86
>>231>>233のコードにも
他のシートから「コメントの入っていない改行を持つセル」を
コピーした場合などにコメントが作成されないという不具合があった

これはつまり>>233でほどこした
「複数範囲のセルは処理をしない」というアルゴリズムによるものなので
複数範囲のセルが書き換えられた場合には
その中のセルを一個ずつ個別に処理をするという方法に変更しました
前回同様シートモジュールにコピペすれば動きます
あと、読みづらくなるのでコード中の解説は削除しました

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target.Cells
 With c
  If .Find(Chr(10)) Is Nothing Then
   .ClearComments
   Exit Sub
  End If
  If .Comment Is Nothing Then
   .AddComment .Value
  Else
   .Comment.Text .Value
  End If
  .Comment.Shape.TextFrame.AutoSize = True
  .Comment.Visible = False
 End With
Next c
End Sub
236230:2014/03/03(月) 18:29:03.44
あぁ、まだ間違ってた……orz
Exit Subが残ってるけど、これじゃ正常に動かんね

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target.Cells
 With c
  If .Find(Chr(10)) Is Nothing Then
   .ClearComments
  Else
   If .Comment Is Nothing Then
    .AddComment .Value
   Else
    .Comment.Text .Value
   End If
   .Comment.Shape.TextFrame.AutoSize = True
   .Comment.Visible = False
  End If
 End With
Next c
End Sub
237名無しさん@そうだ選挙にいこう:2014/03/04(火) 00:05:13.83
なんか微笑ましいな
がんばれw
238230:2014/03/04(火) 00:24:45.95
>>237
いや、さすがにもう大丈夫だと思う。
てか、俺が気付いてないだけかも知れんけど。
なんかおかしい所あったら誰か教えてください。
239名無しさん@そうだ選挙にいこう:2014/03/04(火) 06:48:55.25
ここまでしていただいたのに使い方が分かりません・・

まずツールからVBE起動
次にプロジェクトからシート選択してSheat(コード)に上のやつ記入
sub/ユーザーフォームを実行であってますよね?
ここからどうすれば良いのでしょう・・・

自分なりに調べたのですがどうもできてるかわからないので

すいませんおねがいします
240名無しさん@そうだ選挙にいこう:2014/03/04(火) 07:28:14.10
>>239
それすら調べてもわからないようならもうあきらめたほうがいい
今後も同じように聞きまくることになる
241230:2014/03/04(火) 08:01:50.43
>>239
>次にプロジェクトからシート選択してSheat(コード)に上のやつ記入
>sub/ユーザーフォームを実行であってますよね?

コード貼ったら(記入したら)それで終わりだよ
あとはマクロが有効になってりゃ
ワークシートのチェンジイベントってのを検出してマクロが自動的に動作する
(セキュリティの設定についてはエクセルのバージョンによっても
違うんで自力で調べてくれ)



ところでさ、マクロが分かるかどうかとか
こちらの回答を理解できるかどうかとか以前に
そもそものところで質問テンプレ使ってないよね?
今更ながら言うけど
質問するときには自分が使ってるエクセルのバージョンぐらいは
最低限知らせるべきだよ
まぁテンプレどおりに書いてくれるのが一番だけど。

エクセルのバージョンによって使える機能が変わるから
こっちが一生懸命答えても役に立たない回答になる可能性もある。

特に2003以前と2007以降ではガラッと変わってるから違いを気にしないといけない。

かくいう俺は未だに2000使ってるから
最新の機能とか使えないしそういう質問には答えられない。
242名無しさん@そうだ選挙にいこう:2014/03/04(火) 08:32:21.00
>>241
ごもっともで返す言葉もないです・・・

2011のver14.3.9を使っています
もう少しがんばってみます
243名無しさん@そうだ選挙にいこう:2014/03/04(火) 09:16:10.94
めげずにやってるから
ものになるんじゃないかと思うよ。

俺なんか途中で放り出す
だからいつも中途半端
244名無しさん@そうだ選挙にいこう:2014/03/04(火) 11:43:16.54
【1 OSの種類         .】 Windows7 home 32bit
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

満年齢を出したいのでdatedif関数を使用しています。
=datedif(a1,today(),"y")
と、このように記入してA1セルに生年月日を入力すると、正常に計算されていますが、
他セルに生年月日を入れたくないので、他セルを経由せずに直接生年月日を記入し、
=dateif(s45.11.24,today(),"y") というような表記をすると結果がすべて114になってしまいます。

他のセルに生年月日を入力せずに1セルの中だけで満年齢を計算し表示させるにはどのようにすればよいでしょうか?
245名無しさん@そうだ選挙にいこう:2014/03/04(火) 12:01:27.93
>>244
=DATEDIF(DATEVALUE("s45.11.24"),TODAY(),"y")
246244:2014/03/04(火) 16:39:49.28
>>245
なるほど!数値に直すのを忘れていました。
ありがとうございました。
247名無しさん@そうだ選挙にいこう:2014/03/04(火) 18:07:53.74
datedifに時刻まで指定できればいいね。
248名無しさん@そうだ選挙にいこう:2014/03/04(火) 21:20:34.81
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

A4セルを基点にデータを取り込んだとき、データ件数を得るには、
@ForまたはDoでA列のセルを順にカウントする
AA列の最下行-3で算出する
これら以外に、簡単に得る方法があれば教えてください。
249名無しさん@そうだ選挙にいこう:2014/03/04(火) 21:24:37.33
COUNTA()
250名無しさん@そうだ選挙にいこう:2014/03/04(火) 21:31:42.07
連続してデータが入ってるなら
最終行の番号-1でええやん
251名無しさん@そうだ選挙にいこう:2014/03/04(火) 21:32:30.84
250は先頭行がタイトルの場合ね。
データのみなら最終行の番号でおk
252名無しさん@そうだ選挙にいこう:2014/03/04(火) 21:33:44.53
>>248
無い。2でいくしかない
253名無しさん@そうだ選挙にいこう:2014/03/04(火) 22:41:34.41
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ファイル名_201403_マスター.xls
ファイル名_201403_A.xls
ファイル名_201403_B.xls
ファイル名_201403_C.xls

のようなファイルがあります。これらのA〜Cブックの「入力」シートA1:BN40から
マスターの「出力」シートに、上から順にデータを参照またはコピーしたいと思います。
ファイル名のアンダーバーに囲まれた日付部分が可変、その他は固定です。
可変のためINDIRECTを使いたいところですが、それだと各ファイルを開かないといけません。
VBAで開かずにコピーする方法を探したのですが、多くは同一フォルダのファイルを
全て読み込むものです。不要なファイルも同一フォルダにあるため
決めうちで読み込みたいのですが、どのように記述すれば希望の動作になるでしょうか?
254名無しさん@そうだ選挙にいこう:2014/03/04(火) 22:46:38.36
全部読み込んでも、どうせループで1ファイルずつ処理するんだろうから
そこで条件分岐して目的のファイル名だけ処理するよあにしたら?
255名無しさん@そうだ選挙にいこう:2014/03/04(火) 23:04:57.80
>>253
むしろどこがわからないのかわからない
>>254の方法が一番楽と思う。

例えばこのマクロの
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_120.html
' 指定フォルダの全Excelワークブックについて繰り返す
Do While strFileName <> "" ' D

Do While (strFileName = "ファイル名_201403_A.xls" or strFileName = "ファイル名_201403_B.xls" ) ' D
のようにすればok
256名無しさん@そうだ選挙にいこう:2014/03/04(火) 23:37:34.21
Windows7,Excel2010です
xlsの頃のファイルを引き継いだのですがいろいろと変えたいので2010で新規のブックにコピペしました
するとフォント選択でMSなどが付かないただの「明朝」と表示されています
フォント一覧に「明朝」というのはでてこないんですがこの場合どの明朝を使ってるのかわかりませんでしょうか?
257名無しさん@そうだ選挙にいこう:2014/03/04(火) 23:47:35.33
>>256
フォントの一覧見れば?
258名無しさん@そうだ選挙にいこう:2014/03/05(水) 08:19:01.70
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000or2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

複数条件に対し、4つの答えのうちいずれかを出すような式を求めています。
式はA1セルに入れ、B1セルを参照して答えを出します。
条件は、
・B列の参照セルが「上のセルの値と違う」 かつ 「下のセルの値と違う」場合に 隣のA列のセルに「2111」と表示
・B列の参照セルが「上のセルの値と違う」 かつ 「下のセルの値と同じ」場合に 隣のA列のセルに「2110」と表示
・B列の参照セルが「上のセルの値と同じ」 かつ 「下のセルの値と同じ」場合に 隣のA列のセルに「2100」と表示
・B列の参照セルが「上のセルの値と同じ」 かつ 「下のセルの値と違う」場合に 隣のA列のセルに「2101」と表示
です。

補記すると、B列には日付が1セル以降ずっと入り、A列では、その日付は1行のみなのか、
複数行あってその初めなのか、中間なのか、終わりなのかを
1行ごとに判断させて表示させたいという内容です。
よろしくお願いします。
259名無しさん@そうだ選挙にいこう:2014/03/05(水) 09:05:39.02
>>258
A1から始まる場合、A2の式をこうして

=IF(B2=B3,0,1)+IF(B1=B2,0,10)+2100

後は下にオートフィル
上または下の行のデータが無いので、
A1(先頭行)と最下行はこれでは出せないけど
そこはなんとかして
260名無しさん@そうだ選挙にいこう:2014/03/05(水) 09:17:23.69
おおー、すごい。表示を数式と考えるとは思いもつきませんでした
別アプリにもっていくデータだったので、さっきから手打ちの判断ミスでエラーを出され続けていましたが、一気にただしいデータにできました
助かりました。ありがとうございます
261名無しさん@そうだ選挙にいこう:2014/03/05(水) 14:06:25.02
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
現在
A1セルに書式なしで24(和暦。平成24年のこと。平成以外の元号はない)
A2セルに書式なしで5(5月のこと。24年5月)と入力されています。

A3セルに平成26年3月1日時点での満年齢(これだと1)を出したいのですが、
(生まれた日付は元データにないので全部1日として考える)

生年月が書式なしで、しかも別のセルに入っている場合
どうしたらいいのかわからなくて困っています。
数千件、その形式で入力されていて途方に暮れています。助けてください。
262名無しさん@そうだ選挙にいこう:2014/03/05(水) 14:37:21.85
>>261
=DATEDIF("H"&A1&"/"&B1&"/1","H26/3/1","y")
263名無しさん@そうだ選挙にいこう:2014/03/05(水) 14:38:05.19
間違えた

A3に
=DATEDIF("H"&A1&"/"&A2&"/1","H26/3/1","y")
264名無しさん@そうだ選挙にいこう:2014/03/05(水) 15:46:55.20
>>263
ありがとうございました!
265名無しさん@そうだ選挙にいこう:2014/03/05(水) 18:56:32.69
関数とマクロとピポットテーブル、どれから覚えれば仕事に役立ちますか。
266名無しさん@そうだ選挙にいこう:2014/03/05(水) 19:18:37.92
仕事による
ピボットはどうせすぐに覚えれるから最優先
覚えたら関数
マクロは使えない環境だったら意味が無いので後回し
267253:2014/03/05(水) 19:20:59.88
>>254-255
ありがとう。あまりVBAに詳しくなく、要領を得ず申し訳ないです
ググって↓のサイトを参考に作ってみたんですが
 ttp://excel-ubara.com/excelvba5/EXCELVBA242.html
 ttp://blog.livedoor.jp/midorityo/archives/50712330.html
 ttp://officetanaka.net/excel/vba/tips/tips28.htm
 ttp://www.moug.net/tech/exvba/0060037.html
教えていただいたマクロ含め、どれも思ったような挙動にならなかったり
エラーが出てしまいます。
(今の状態だと「RangeクラスのFomulaArray プロパティを設定できません」となります)

ファイルを上げてみたので、もしよろしければ添削していただけると助かります
各ファイルの緑の領域から、マスターの黄色の領域へ
マスター以外のファイルを開かずにデータをコピーしたいのです。
http://www1.axfc.net/u/3187073.zip
268名無しさん@そうだ選挙にいこう:2014/03/05(水) 19:55:28.66
>>266
ありがとうございます。
スーパーとかで
・膨大な商品数
・その売り上げ
・売れた個数
・場合によっては店舗別で分析したい
これをバイトのレベルで作成・更新する、つまり1000行とか膨大なセルを
一気に処理したいカンジです。
関数はvlookupとか覚えました。
ピポットは取っつきやすいとのことなので、簡単なテーブルから作成してみます。
269名無しさん@そうだ選挙にいこう:2014/03/05(水) 19:59:10.35
>>267
fileがstringになっているのでエラー
まずはファイルを開いて1セル移す、というところから初めてみては
270名無しさん@そうだ選挙にいこう:2014/03/05(水) 20:45:56.80
>>268
トランザクション(売上データ)によってくる。
分析に必要なものがなければ商品マスタが欲しくなる。
取扱商品をエクセルにインポートできる環境でないとムリポかも。
271名無しさん@そうだ選挙にいこう:2014/03/06(木) 10:22:32.28
>>267がうpしてるファイルだけど、
xpモード上のエクセル2000で開こうとしたら
エラーが出てエクセルが終了しちゃって開けない
(マスター.xlsってヤツだけ、他は開ける)
272名無しさん@そうだ選挙にいこう:2014/03/06(木) 15:47:13.29
質問です。

EXCEL2007のVBAでメール送信をしたいのですが、
どうすれば良いのでしょうか?
273名無しさん@そうだ選挙にいこう:2014/03/06(木) 16:48:09.62
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

よろしくお願いします。
検索してもよくわからないので、教えてください。

sumproduct 関数の( )内なのですが、

sumproduct(配列1,配列2,配列3,...) という書式と
sumproduct(配列1*配列2*配列3*...) という書式があるようなのですが、
どういう違いがあるのでしょうか?

よろしくお願いします。
274名無しさん@そうだ選挙にいこう:2014/03/06(木) 19:04:42.74
275名無しさん@そうだ選挙にいこう:2014/03/06(木) 19:22:39.70
>>269
型の問題ってことでしょうか?Variantにしてもエラーが出るので
型の変更が必要か、本来格納すべきでない所に格納してるってことですか
一応開いて移して閉じては出来てますが、基本的に
アンチョコ見ながらレベルなのでエラーが出ると難しいですね

>>271
他のファイルとの違いはボタンの有無とファイル名取得関数
くらいかと思うのですが、何かしら問題あるのかもしれません
わざわざ開いてくれたのにすみません
276名無しさん@そうだ選挙にいこう:2014/03/06(木) 19:53:08.83
>>272
vba メール送信でぐぐれ
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_800_080.html
http://officetanaka.net/excel/vba/tips/tips45.htm

vbaで送信するよりメールソフト立ちあげるほうが楽だと思うけど
277272:2014/03/06(木) 20:26:51.11
>>276
レスありがとうございます。
278273:2014/03/07(金) 00:17:56.84
>>274 ありがとうございます。幾通りもあって参考になりました。
279名無しさん@そうだ選挙にいこう:2014/03/07(金) 00:39:31.46
【1 OSの種類         .】 WindowsXP Professional
【2 Excelのバージョン   】 Excel2004
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

原因がエクセルなのかウインドウズなのか判断できないのですが、こちらで質問させていただきます。
会社でエクセルを使用しています。
セルをコピーするために貼り付け先を選択して右クリックして「形式を選択して貼り付け」を選択すると
普通は「すべて・数式・値・・・・」など多くの選択肢が出るはずなのに
10回に1回程度の頻度で「図形・リンク先貼り付け」とかいう、使い物にならない2つの選択肢しか出ないことがあります。

その会社のファイルではオートシェイプや画像の挿入などは一切使用していません。
セルの書式は「数値」で固定されていて書式変更はできないようにしてあります。

自分程度のスキル程度では発生条件がまるでわかりません。
何か解決方法のヒントだけでもいただけないでしょうか。
280名無しさん@そうだ選挙にいこう:2014/03/07(金) 00:52:21.27
図は使ってなくても出る文字じゃない?
表も図のリンク先貼り付けはできる。shift押しながらやってるとか
281名無しさん@そうだ選挙にいこう:2014/03/07(金) 01:23:09.36
Excel2004ってwindowsで使えるのか
282名無しさん@そうだ選挙にいこう:2014/03/07(金) 01:52:28.61
エミュレータでなんとか
283名無しさん@そうだ選挙にいこう:2014/03/07(金) 02:11:18.82
それはまぁ、うん。使えることは使えてるんだけどね。
284名無しさん@そうだ選挙にいこう:2014/03/07(金) 19:34:30.47
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

B1=A1-C1の時はB1にそのまま数値を表示、
B1≠A1-C1の時は数値じゃなくB1に「エラー」と表示させる数式をお願いします。
285284:2014/03/07(金) 19:50:30.93
失礼、間違えました

B1=A1+D1-C1の時はB1にそのまま数値を表示、
B1≠A1+D1-C1の時は数値じゃなくB1に「エラー」と表示させる数式をお願いします。

でお願いします。
286名無しさん@そうだ選挙にいこう:2014/03/07(金) 20:33:01.90
>>285
if
287名無しさん@そうだ選挙にいこう:2014/03/07(金) 21:35:44.43
>>286
ありがとう、できました!
288名無しさん@そうだ選挙にいこう:2014/03/07(金) 22:01:55.38
windows8
excel2013
VBA可です。


ロ形フレームのような平面フレームモデルの時刻歴変位(x,y変位です)をアニメーションとして作りたいのですが、Excelでできるのでしょうか。またら何か良いソフトはないですか?

静止画を大量に作って動画にしようと思っています。静止画はステップごとの節点変位図です。

節点変位の時刻歴が刻み時間ごとに一行ずつcsvファイルで出力され、その出力結果を節点変位図で表現するために編集
→マクロでやっています

その結果をカレイダグラフへ貼り付けると変位図ができる

という流れになります。


節点変位図は1ステップ(=1行)ごとに作り、
ステップ数は数万ほどです。
csvファイルを編集するのはExcelのマクロでできています。

しかしカレイダグラフに貼り付けて図を作成するのは手動になります。

数万ステップあるので数万回カレイダグラフに貼り付けるとなると無理です。


Excelでフレームモデルを描画し、その変位図まで出来れば良いのですが、やり方がわかりません。

グラフ化するところまでマクロでできるものなのでしょうか。またはそれに代わる数万円程度以下のソフトはないでしょうか。

数十万や数百万するソフト(midas civil)でアニメーション出力が可能なのですが手が出せません。
289名無しさん@そうだ選挙にいこう:2014/03/08(土) 01:46:48.06
windows8
excel2013
VBA可です。

数式を使わずに検索で複数条件や正規表現を
使うようにすることはできますか?

また検索の方向を下からにすることはできますか?
290名無しさん@そうだ選挙にいこう:2014/03/08(土) 05:12:12.28
>>288
超力技な解決策。一度キリなら以下、無料。手間はかかるので何度もやるならやめたほうがいい
・まず、kmmacroを使う。これはPC操作の手作業をマクロで行うソフト。
左上の指定点を左クリック、alt+fで保存、連番を付け、enter、最初の左クリックに戻る・・・という事ができるソフト。
キーボードマクロとか言われる。
これで一晩作業させれば数万のグラフだか画像だかは容易に作成可能。
使いこなすのにちょっとコツはいるが、慣れればすごく便利。
・画像ビューワでスライドショー。マンガミーヤ当たりが軽くてオススメ。下のアマレココ等と組み合わせる。
・デスクトップを記録するソフト(アマレココ)等でそのデスクトップを記録。
>>289
可能。両方vbaが必須
291名無しさん@そうだ選挙にいこう:2014/03/08(土) 05:42:11.36
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
今は2010を使っているのですが、古いバージョン(97とか)だと
空白セルを元に計算式を入れるとエラーになったはずなのですが
どのExcelバージョンからエラーが出ずに0扱いしてくれる仕様になったのでしょうか?

例えばA1が空白の時に、B1に=A1+3とか入力するとエラーになった筈で
エラー回避のためにわざわざ=if(isnumber(A1),A1+3,3)とした記憶があるのですが
292名無しさん@そうだ選挙にいこう:2014/03/08(土) 05:48:40.92
>>291
そんな仕様はしらないけどあるとすれば2000より前だな
まぁなんでもいいんじゃね
293名無しさん@そうだ選挙にいこう:2014/03/08(土) 08:12:47.81
>>288 >>290
確かに、Excel自体で実現するより、VBAなり、カーソルマクロ系なり使うなりして
やってる操作自体を自動化する方向で考えた方が早そうだね
294名無しさん@そうだ選挙にいこう:2014/03/08(土) 11:58:24.32
>>290
クリックマクロは最後の最後の力技だと思っていますがそれしか残された手段がないのですかね…。

数万のグラフが一つのアニメーションになるのですが、そのアニメーションの数は理想は1000以上です。パソコンが自動でやってくれるなら時間がかかっても構いません。
一つのグラフを手動で作成する場合はテンプレートがあるので、前のデータを消して貼り直すだけでだいたい10秒です

同じ箇所を押し続けるマクロなら良いでしょうが、一回のループごとに少しずつクリック先をずらすようなこともできるものなのでしょうか。
295名無しさん@そうだ選挙にいこう:2014/03/08(土) 13:32:38.81
>>294
WPFを使うと楽だと思う。
画面はWPFのXAMLを使うけど、その際にStoryBoardという
機能を使う。
WPF,Storyboardのキーワードで見るとサンプルが見つかると思う。
WPFはC#じゃなくPowerShellから使うようにするとすごく簡単に
表示までできる。
PowerShellとWPFしていれば5分作業なんだが・・・

要は、PowerShellを言語としてWPFを動かす。
StoryBoardはWPFの一機能。
296名無しさん@そうだ選挙にいこう:2014/03/08(土) 13:43:35.44
静止画があるならSrotyBoardもいらないな。
WPF,静止画,アニメーションで検索すればサンプルあると思う。
これを動かす(WPF)を動かすのにC#やPowerShellを使う。
PowerShellはWin7以上はWindows必須ソフトなのでついてる
(アクセサリーフォルダーの中)、XPはアップデートでインストール
できる。
ここはExcelスレッドなんで、ここまでにしときます。
297名無しさん@そうだ選挙にいこう:2014/03/08(土) 17:12:56.44
ありがとうございます。
Excelのデータからカレイダグラフで静止画を自動で作成するのにwpfというものをpowershellを利用して動かすという認識で良いですか?
そしてその流れでアニメーションも作れるという事でしょうか
298名無しさん@そうだ選挙にいこう:2014/03/08(土) 17:40:46.79
>>297
今迄の情報で、膨大なグラフの静止画の作成っていう工程と、
グラフの静止画をアニメーション風に連続で表示していくと解釈したけど合ってる?

もし合ってるなら、
グラフの静止画を作成する方法は幾通りも有ると思う
カーソルマクロなりpowershellなり。

それから作った静止画を連続で表示するだけなら、
VBAでも全然可能だし、

まあ結局後は好みかなーと思う
299名無しさん@そうだ選挙にいこう:2014/03/08(土) 17:51:23.42
>>298
はい。その通りです。教えていただいたもので勉強してみます。シミュレーションしてその時々刻々変わる様子を表現したいんです。ド素人でかつ周りの人間も素人なので大量の静止画によるアニメーションなら出来るかなと思って質問をしました。
300名無しさん@そうだ選挙にいこう:2014/03/08(土) 18:34:48.02
>>299
カレイダグラフへの操作の自動化APIも駆使したらVBAで出来ちゃうんだけどね
そこは専門のソフトを使えるならその方が楽だろうと思う
301名無しさん@そうだ選挙にいこう:2014/03/08(土) 18:37:01.18
>>300
apiというのを駆使したらVBAで書けるのでしょうか。シミュレーションプログラムとセットでならシミュレーション結果を図に出来るソフトはありますが、そういった専門のソフトというのは数十万〜百万するので不可能なのです。
302名無しさん@そうだ選挙にいこう:2014/03/09(日) 19:44:48.12
>>301
ごめん言い方が悪かった

csvからカレイダグラフへ貼り付け〜グラフの静止画像保存を数万回という作業
⇒VBAでも、PCのAPIを呼び出せば可能だけど、構文を今から勉強するのも大変そうだから
カーソルマクロのソフト等の、そういう自動化に特化した専門のソフトでやった方が簡単だと思う

静止画を連続で表示するだけなら、VBAでの実現は簡単

っていう話
303名無しさん@そうだ選挙にいこう:2014/03/10(月) 00:17:07.73
htmlで保存するとテキストとルビが入り交じって異様に読みにくいので、
ルビを一括で削除してしまいたいけど、そういうことはできますか
304名無しさん@そうだ選挙にいこう:2014/03/10(月) 00:30:26.33
多分出来る
どのページ?
305名無しさん@そうだ選挙にいこう:2014/03/10(月) 07:27:16.50
>>303
簡単にできる
306名無しさん@そうだ選挙にいこう:2014/03/10(月) 08:26:13.68
なんか即答してるけど、htmlで保存してそのソースを見たことあるの?
307名無しさん@そうだ選挙にいこう:2014/03/10(月) 08:47:42.72
>>306
何を言ってるの?
308名無しさん@そうだ選挙にいこう:2014/03/10(月) 09:05:22.81
>>306
だから”多分”できるって言ってるじゃないか
何にしろ見なきゃわからんが
309名無しさん@そうだ選挙にいこう:2014/03/10(月) 11:13:11.44
ワークシートをhtmlで保存したいって話じゃないの?
「ページ」とか言ってる時点で、たぶん>>304は勘違いしてる
310名無しさん@そうだ選挙にいこう:2014/03/10(月) 15:23:22.57
質問です(Windows7,EXCEL2007,VBA)

あるセルに、ホームページをコピー&貼り付け(値)したデータ(文字列)が入っているのですが、
この中に、見た目はスペースだけど、コードが0xC2A0の文字列が含まれています(位置不定)。
この0xC2A0の文字列を削除するには、どうすれば良いのでしょうか?
311310:2014/03/10(月) 15:24:30.27
↑補足 削除はVBAで行いたいです。
312名無しさん@そうだ選挙にいこう:2014/03/10(月) 15:54:51.60
>>310
これでいける?
あんまり文字コードには自信なし

Sub Macro1()
Range("A1").Select
Cells.Replace What:=Chr(49824), Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
313名無しさん@そうだ選挙にいこう:2014/03/10(月) 17:25:39.78
Webの表をExcelに貼り付けたあと、変な書式もいっしょにコピペされてうざいです。

たとえばココ(http://baseball.yahoo.co.jp/npbopen/standings/)
勝敗表をExcelに貼り付けてください。
みなさんも必ず貼り付けてどうなるか確認してくださいよ!
みんなのテレビではどうなるかわかりませんが
自分のところではある行が太くなってるし、青で下線のハイパーリンクができてるし、左上の6セルは合体してるし、
列のタイトルはそれぞれ3セルも使ってるし(ここは1セルですますべき)、そのあと編集しずらいです。

他のサイトでは罫線もコピペされたり、「、(コンマ)」区切りの数値が文字列になってることもあるし、「230円」と「円」までくっついてると数値計算できないし、
その他いろいろここでは述べていないさまざまな苦労を経験します。

そこで質問です。

一般にWebから表をコピペしてExcelに貼り付けたあと
きちんとデータ解析しやすくするためのコツ群を教えてください。
314名無しさん@そうだ選挙にいこう:2014/03/10(月) 17:36:31.11
>>313
Excelにコピペした直後は全体が選択されている状態なので、まずセルの結合を解除して
もう一度新規シートに値貼り付けすれば書式が全部消えて再利用しやすくなる

あとはケースバイケース
単位は手作業で削除するしかないけど、同じようなページを使うことが多いなら
一連の手順をマクロにしておくといい
315名無しさん@そうだ選挙にいこう:2014/03/10(月) 17:52:17.31
chrって2バイト文字いけるの?
316名無しさん@そうだ選挙にいこう:2014/03/10(月) 18:07:45.39
>>315
いける
Ascも同じ
317名無しさん@そうだ選挙にいこう:2014/03/10(月) 18:09:15.30
>>312
素直に16進で&HC2A0って書けばいいんだよ
318名無しさん@そうだ選挙にいこう:2014/03/10(月) 18:13:31.36
>>313
2010で貼り付け時に、「貼り付け先の書式に合わせる」を
選ぶと、なんも問題なく張り付くよ。

以前は俺も >>314 に近いことやってたけど。このリンク先のデータなら
一発でOkだった。
319名無しさん@そうだ選挙にいこう:2014/03/10(月) 18:20:37.78
webからコピペしてきた文章に、たまに入ってるスペースモドキの文字はコード00A0じゃないかなあ
まあ色々あるんだろうけど、圧倒的に00A0が多い気がする
320名無しさん@そうだ選挙にいこう:2014/03/10(月) 19:34:32.39
たぶんここのウォッチャーなら大丈夫だとは思うけど
WEBからOfficeに貼り付ける前にマクロのセキュリティーレベルを高くしておこう
たまにマクロウィルスがページに埋め込まれていて
マクロを許可されたソフトに貼り付けたら想像を絶する悪さをするからね
321名無しさん@そうだ選挙にいこう:2014/03/10(月) 22:46:40.46
>>317
ごめん16進数の書き方仏に知らなかったよ。
>>319
すんごいまれだけどlfcrとかもあるぜ。結構ハマった
322名無しさん@そうだ選挙にいこう:2014/03/10(月) 22:47:13.59
「試合数」がなんでか縦3セルになるなぁと思ったら「試<br>合<br>数」になってた。これはしかたないな
323名無しさん@そうだ選挙にいこう:2014/03/10(月) 22:55:25.87
欲しいのは数字だけだろうし、見出しが3行になるのはどうでもいいんじゃね?
324名無しさん@そうだ選挙にいこう:2014/03/10(月) 22:56:31.37
>>318
表組の中にリンクとか画像が埋め込まれてると面倒なんだよね
325名無しさん@そうだ選挙にいこう:2014/03/10(月) 22:59:03.59
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 他人様のコードをコピペした経験のみです
【4 VBAでの回答の可否】 不可

10000,100,200,300,空白@,空白A,空白B
この並びで、一番左の10000から100→200→300→100→200…
のように順番に右の数のループで減算していって、一番左の数が≦0になった時に
100、200、300という数値が何回減算に使われたか(この例で計算すると10000-100*17+200*17+300*17=-200なので各17回)
を空白@ABに出してくれるような関数の組み合わせはありませんでしょうか?
説明が分かり辛かったら申し訳ありません。
326名無しさん@そうだ選挙にいこう:2014/03/10(月) 23:34:32.11
>>325
A1から横並びとして

E1セル「=ROUNDDOWN(A1/SUM(B1:D1),0)+IF(MOD(A1,SUM(B1:D1))<>0,1,0)」

F1セル「=ROUNDDOWN(A1/SUM(B1:D1),0)+IF(MOD(A1,SUM(B1:D1))-B1>=0,1,0)」

G1セル「=ROUNDDOWN(A1/SUM(B1:D1),0)+IF(MOD(A1,SUM(B1:D1))-SUM(B1:C1)>=0,1,0)」
327325:2014/03/10(月) 23:46:21.07
≫326
できました、ありがとうございます!
ですが仕組みがさっぱり分からないので調べてみようと思います、
詰まったらまた質問させていただけるとありがたいです。
328名無しさん@そうだ選挙にいこう:2014/03/11(火) 00:07:45.11
>>327
間違いがあったわ

「<>」と「=>」のところは「>」だけでいいね
329325:2014/03/11(火) 00:39:27.29
<>が何か不明でしたがそういうことでしたか、了解です。
330310:2014/03/11(火) 08:05:04.56
>>312,317
レスありがとうございます。

別の質問ですが

>>320
>マクロのセキュリティーレベルを高くしておこう
というのは、
具体的には何をすれば良いのでしょうか?
(WebページをEXCELシートに貼付けてVBAで処理する場合)
331名無しさん@そうだ選挙にいこう:2014/03/11(火) 10:54:10.67
>>330

エクセルのバージョンによって細部は異なるかもしれないが
エクセル2000の場合だと
ツール(T) => マクロ(M) => セキュリティ(S) と進んで、
セキュリティレベル(S) を高に設定する

そうすると、デジタル署名が有るマクロだけしか実行できなくなる
デジタル署名はそのPC内でしか通用しないものなら自分で自由に付加できる

色んなPCで利用できるようなデジタル署名の作り方は知らないけど
何処かの証明機関にお金払って書名を作るらしい

>マクロ プロジェクトにデジタル署名を追加する
http://office.microsoft.com/ja-jp/excel-help/HA001231781.aspx

あと、2007以降だと信頼できる場所ってのも設定できるらしい

>ファイルに対して信頼できる場所を作成、削除、変更する
http://office.microsoft.com/ja-jp/access-help/HA010031999.aspx
332名無しさん@そうだ選挙にいこう:2014/03/11(火) 14:18:06.72
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
Sortメソッドについてなのですが

Worksheets("Sheet1").Select
Range("A1:F40").Sort 〜
だと機能するのですが

Worksheets("Sheet1").Range("A1:F40").Sort 〜

だとエラーになります。
Sortメソッドはシートがセレクトされてないと使えないのでしょうか?
原因や理由などわかれば教えていただきたいです。
333名無しさん@そうだ選挙にいこう:2014/03/11(火) 14:39:02.67
>>332
その通り
セレクトメソッドは微妙に制約があるので先にシートを選択する癖をつけると良い
こういうのもダメ
Sub a()
Sheets("sheet1").Activate
Sheets("sheet2").Cells(1, 1).Select
End Sub
334名無しさん@そうだ選挙にいこう:2014/03/11(火) 16:10:51.64
>>333
ご回答ありがとうございます。
セルをアクティブにする事とシートをセレクトするのは別ということなんですね。
Sortメソッドを使用する時は先にシートをセレクトするようにします。
335320:2014/03/11(火) 20:07:36.64
2000みたいな古いOfficeはセキュリティーホールも多いから使わない方がベター
2010や2013だと、WEB上のシートを開く際、電子署名の有無に関わらず
まず保護モードがマクロウィルスを阻止してくれるから保護ビューで見る限りは安心
ただ、そこから編集したりいろいろするには結局許可が必要

>>320を言ったわりにはサブPCでOffice2000を使ってたりする(笑
たとえアンセキュアな古いOfficeでも、WEB上のCSVやデータを
メモ帳(notepad.exe)やテキストエディタにいったんコピペして
WEBページに埋め込まれた悪意のあるスクリプトを暴き出してから
さらにそれを孫コピーすれば安心っていう裏技はあるものの
ダイレクトに書式設定や関数、マクロ、リンク、グラフなどを取り込めず不便でおすすめはできない
336jr6rmq:2014/03/11(火) 20:10:29.24
Excel2010からSharePointへ双方向同期(相互データ更新)のテーブルを発行したいのですが、良い方法はありますでしょうか?
337名無しさん@そうだ選挙にいこう:2014/03/11(火) 23:10:35.81
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2002、2007
【3 VBAが使えるか    .】 いいえ(どうしてもVBAでないとできない場合は頑張って調べます)
【4 VBAでの回答の可否】 可
よろしくお願いします。

入力規則のリストで常に下向き三角▼が表示されるようにしたいです。
ぐぐると、そのままでは解決できないからコンボボックスの設置を勧められている
ページを見つけ、コンボボックスを使用することにしました。
ですが、コンボボックスで行の指定が上手くできません。

コンボボックス1つ目を設置し、プロパティで
LinkedCellをA2、ListFillRangeをA5:A20と指定したら望む通りの表示と動きをしました。
ですが、コンボボックス2つ目を設置し、プロパティで
LinkedCellをB2、ListFillRangeをB4:Q4を指定するとすると、B4しか表示されません。

コンボボックス2つ目でB4からQ4が表示されるようにするにはどうすればいいのでしょうか。
ご教授お願い致します。
338名無しさん@そうだ選挙にいこう:2014/03/12(水) 00:29:45.19
>>337
無理
データは必ず縦に並べる
別の場所に縦に並べておいて、(どこかの例に=B4、=C4、=D4みたいに縦に数式を入れといて)そこを参照する
339337:2014/03/12(水) 01:02:36.76
>>338
ご教授とヒントありがとうございます。解決いたしました。

【解決した方法】
1つ目のコンボボックスを
LinkedCellをA2、ListFillRangeをA5:A20と指定し、
2つ目のコンボボックスを
LinkedCellをB2、ListFillRangeをA5:A20と指定。

今回は、ListFillRangeで選択する内容が
1つ目と2つ目のコンボボックスでまったく同じだったので、この方法で解決しました。

大変助かりました。本当にありがとうございました。
340名無しさん@そうだ選挙にいこう:2014/03/12(水) 09:53:00.45
コピーの貼り付け時に「コピーまたは移動先のセルの内容を置き換えますか?」と毎回出てくるのが煩わしいです。
出ないようにはできますか?
341名無しさん@そうだ選挙にいこう:2014/03/12(水) 11:36:00.76
ピボットテーブルっていつからあったのでしょうか?
ご年配の方が働いている会社のシートは集計機能ですませているところが多いように思えるんですが、
昔(windows95時代)は無かったのでしょうか?
342名無しさん@そうだ選挙にいこう:2014/03/12(水) 11:37:52.91
>>340
エクセルの設定には無い
vbaでApplication.DisplayAlerts = False
http://www.relief.jp/itnote/archives/001936.php
343名無しさん@そうだ選挙にいこう:2014/03/12(水) 12:02:03.72
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
ボタンを設置しようと思うのですが、
フォームコントロール
ActiveXコントロール
どちらを選べばいいのでしょうか?
344名無しさん@そうだ選挙にいこう:2014/03/12(水) 12:31:47.56
>>334
Keyにもシート指定が必要
345330:2014/03/12(水) 15:00:51.68
>>331
レスありがとうございます。
346名無しさん@そうだ選挙にいこう:2014/03/12(水) 15:16:11.68
>>343
どっちでも好きな方を使えばいいと思うけど、ActiveXのが機能が豊富できめ細かい操作やデザインが可能
347名無しさん@そうだ選挙にいこう:2014/03/12(水) 15:31:19.13
>>346
ありがとうございます
348名無しさん@そうだ選挙にいこう:2014/03/12(水) 18:29:22.69
よろしくおねがいします。

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1〜A20にランダムに1から6の数字が入っています。
B1にA1〜A20間に1が何個 B2に同く2がいくらあるかを表示したいのですが
関数がわかりません。ご教授お願い致します。
349名無しさん@そうだ選挙にいこう:2014/03/12(水) 18:37:52.57
>>348
countif
関数一覧は一度でいいので目を通しておいた方がいい。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html
350名無しさん@そうだ選挙にいこう:2014/03/12(水) 18:48:31.61
>>349

大変助かりました。ありがとうございました。
もしあなたが隣の席の人なら抱きついてチューしてますわ。
351名無しさん@そうだ選挙にいこう:2014/03/12(水) 19:27:40.49
>>350
ホモォな流れはやめましょう
352名無しさん@そうだ選挙にいこう:2014/03/12(水) 20:33:19.11
>>348
数値ならFREQUENCY関数の方がベター
B1:B6に=FREQUENCY(A1:A20,ROW())としてCtrl + Shift + Enterで配列数式にすればok
353名無しさん@そうだ選挙にいこう:2014/03/12(水) 20:35:01.98
352だが関数以外ではピボットテーブルが普通
354名無しさん@そうだ選挙にいこう:2014/03/12(水) 20:38:18.74
>>341
あったよ
ただアイテム数とかにかなり制限があった
355名無しさん@そうだ選挙にいこう:2014/03/12(水) 20:40:44.03
>>332
>>333は嘘だからな
>>344が正解
そうすればシートをSelectする必要はない
356名無しさん@そうだ選挙にいこう:2014/03/12(水) 22:04:48.08
>>352
なんで?
357名無しさん@そうだ選挙にいこう:2014/03/12(水) 23:01:28.96
>>356
アルゴリズムの問題
358名無しさん@そうだ選挙にいこう:2014/03/12(水) 23:54:21.57
エクセルで質問です。

前の先輩のパソコンを使用しておりましたら、縦のAのラインで、Aのところにマウスをもっていけば、例えば「豊臣」の文字を含むセルを一気に検索ができました。
しかし、新たにエクセルで表を作っていまして、そのシステムが使えません。

どのようにして、A群のセルから、同じ文字列を検索することができるのでしょうか?
また、その文字列を含むセルが、何個あるかまでわかると嬉しいです。

どうぞよろしくお願いいたします。
359名無しさん@そうだ選挙にいこう:2014/03/13(木) 00:34:23.93
>>358
マウスを持って行くって、矢印を合わせるだけでクリックとかせずに?
だとしたら普通では無理だと思うなあ
そんな機能、聞いたことないし
360名無しさん@そうだ選挙にいこう:2014/03/13(木) 01:40:18.35
>>357
kwsk
361名無しさん@そうだ選挙にいこう:2014/03/13(木) 09:13:34.71
>>358
フィルターのことを言っているのかな?
といってもわからないのかな
362名無しさん@そうだ選挙にいこう:2014/03/13(木) 19:12:50.38
レイアウト(枠線、項目ごとのセルの色とか)が同じデータが数十個あって、
見た目が悪いので全部直せと言われました。
どうすればいいでしょうか
363名無しさん@そうだ選挙にいこう:2014/03/13(木) 20:16:50.91
>>362
左端のシートを選択、右端のシートをshift押しながら選択
これで全部選択できるのでこのまま編集すれば良い
数式を入力すると大変なことになるので気をつけて
364名無しさん@そうだ選挙にいこう:2014/03/13(木) 20:28:01.08
>>363
すいません、言い方悪かったです。
「同じデータ」ではなく「同じブック」でした。

テンプレートみたいなブックを作って、
セル全部コピー → 書式だけペースト
で中の数値はそのままでいけそうでした。
365名無しさん@そうだ選挙にいこう:2014/03/13(木) 20:30:17.21
おういえす
366名無しさん@そうだ選挙にいこう:2014/03/13(木) 20:31:59.67
というかブックが30ファイルくらいあり、それを全部修正するとそれなりの手間がかかります。
セルの色変えるのってそんな大事ですかねw
367名無しさん@そうだ選挙にいこう:2014/03/13(木) 20:47:37.73
セルの色を変えないと癌が進行するんです。放置すると死にます。
早くセルの色と癌を治してあげましょう!助けられるのは貴方だけです!
368名無しさん@そうだ選挙にいこう:2014/03/13(木) 20:50:40.50
>>366
編集スキルを上げる良いチャンスだね

頑張れ
369名無しさん@そうだ選挙にいこう:2014/03/14(金) 08:19:20.08
>>366
ブック30個程度なら手作業でもたいした手間とは思わんけど
メンドクサイならマクロでやればいいじゃん
370名無しさん@そうだ選挙にいこう:2014/03/14(金) 10:52:09.87
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はいえ
【4 VBAでの回答の可否】 可

当番表を作っているのですが○のついているところの列のひとの名前を取得したい

1 2 3 4 5
name1 ○ ○
name2 ○
name3 ○
name4 ○

結果
1 name1
2 name2
3 name3
4 name4
5 name1

よろしくお願いします。
371370:2014/03/14(金) 10:54:34.10
すみませんずれました。

       1  2  3  4  5
name1   ○          ○
name2      ○
name3         ○
name4            ○

1 name1
2 name2
3 name3
4 name4
5 name1
372名無しさん@そうだ選挙にいこう:2014/03/14(金) 11:15:54.74
matchとindexでググれ
373名無しさん@そうだ選挙にいこう:2014/03/14(金) 11:16:35.13
あ、検索範囲が変わるからindirectも追加でググれカス
374名無しさん@そうだ選挙にいこう:2014/03/14(金) 13:32:03.09
excel2003-2010です
vbaなしで、選択範囲内にある重複データを簡単にリストアップする方法はないでしょうか
範囲は複数列複数行複数箇所です
375370:2014/03/14(金) 13:33:45.82
>>372,373
どうもありがとうございました。
matchとindexとindirectあとisnaをくみあわせてできました。
376名無しさん@そうだ選挙にいこう:2014/03/14(金) 15:44:40.38
なんで最初に検索しないん?
http://office.microsoft.com/ja-jp/excel-help/HP010073943.aspx
377名無しさん@そうだ選挙にいこう:2014/03/14(金) 15:47:12.19
みなさんMOSなどの資格はお持ちですか?
378名無しさん@そうだ選挙にいこう:2014/03/14(金) 22:15:31.35
>>360
COUNTIFは総当たりを何度も繰り返す
FREQUENCYはデータ配列を並べ替えて1回舐めるだけ
379名無しさん@そうだ選挙にいこう:2014/03/14(金) 23:29:07.04
>>374
あります
380名無しさん@そうだ選挙にいこう:2014/03/15(土) 00:27:54.82
>>377
MOS持ってると言ってる人でマトモに使いこなせてる人を見たことがないw

自分は独学で覚えたクチだが普通にマクロ使えるレベル。
あんなもの、インストラクター( がハクつける以外に何か意味あるの?と思ってるが。
381名無しさん@そうだ選挙にいこう:2014/03/15(土) 00:46:27.93
>>380
派遣の事務職なんかは資格があるだけで採用率が上がる
男は持っててもしゃーない
382名無しさん@そうだ選挙にいこう:2014/03/15(土) 02:07:40.21
資格なんてなんの役にもたたないとか言う奴は大抵その資格をとれない奴 (w
はくつけたり、話のネタにしたり、色々使い道はある
383名無しさん@そうだ選挙にいこう:2014/03/15(土) 04:36:07.16
>>374
重複してるものだけをリストアップか?
それとも1個のものも含めて種類全部をリストアップか?
種類全部ならピボットテーブルでできる
ピボットテーブルで複数のワークシート範囲から左に空白列、上に空白行(空白じゃなくてもよいが同じタイトルのもの)を含めたデータ範囲を追加して
フィールドから「行」「列」「値」のチェックをすべて外し、そのあと「値」にチェックを付ければOK
個数が必要ならさらに「値」を右下にドラッグすればよい
重複してるものだけをリストアップなら上記のピボットテーブルからフィルタオプションでデータが1個じゃないものを抽出すればよい

Excel2010でピボットテーブルの複数のワークシート範囲がわからなかったらググれ
384名無しさん@そうだ選挙にいこう:2014/03/15(土) 09:54:36.82
>>383
ありがとうございます
教えてもらった方法でうまくいきそうです
385名無しさん@そうだ選挙にいこう:2014/03/15(土) 10:22:56.93
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

「送料500円(10000円以上無料)」という計算を
D1=IF(SUM(A1:C1)>=10000,SUM(A1:C1),SUM(A1:C1)+500)
とすると、SUM関数を3回使うことになります。

D1=SUM(A1:C1)
E1=IF(D1>=10000,D1,D1+500)
とすると、SUM関数は1回で済みますがセルが増えます。

セルを増やさずに、SUM関数を1回で済ませられますか?
386名無しさん@そうだ選挙にいこう:2014/03/15(土) 10:51:29.43
>>385
ikkaiha 無理じゃね
ユーザー定義関数でも作れば別だけど、ありゃ一応vbaの範疇か

で、ifの結果が真でも偽でも同じものはifの外に出しておくと少しはまとめれる
D1=SUM(A1:C1)+if(SUM(A1:C1)>=10000,0,500)
387名無しさん@そうだ選挙にいこう:2014/03/15(土) 11:58:24.14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
斜め罫線と、塗りつぶしを組み合わせて、三角形に塗りつぶしたいのですが
どうしたらいいのでしょうか?
例えば、セルに斜め罫線を引いて→/
こっち側は白で→/←こっち側を黒く塗りつぶして
直角三角形にしたいのですが
388名無しさん@そうだ選挙にいこう:2014/03/15(土) 13:01:19.15
>>387
無理だ、諦めてくれ
三角形の図形でも使うしか無い
389名無しさん@そうだ選挙にいこう:2014/03/15(土) 13:47:18.48
>>388
ありがとうございました
適当にそれっぽく整形してごまかしてみます
デザイン力ではどうしてもPDFに適わないなぁ
PDFは計算ができない分、Excelが必要なんだけど
390名無しさん@そうだ選挙にいこう:2014/03/15(土) 20:51:05.16
>>386
ありがとうございました。
セルを増やすことにして、同じものはifの外に出します。
D1=SUM(A1:C1)
E1=D1+IF(D1>=10000,0,500)
391名無しさん@そうだ選挙にいこう:2014/03/16(日) 01:58:42.41
D1=((SUM(A1:C1)<10000)*500)+SUM(A1:C1)
だときれいじゃないかな?
392名無しさん@そうだ選挙にいこう:2014/03/16(日) 02:40:59.54
その式は俺なら前後逆に書く
=SUM(A1:C1)+(SUM(A1:C1)<10000)*500
393名無しさん@そうだ選挙にいこう:2014/03/16(日) 07:48:21.16
おお。
394名無しさん@そうだ選挙にいこう:2014/03/16(日) 10:25:01.07
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

グラフで数値の一部範囲のみを表示させる方法。
イメージとしては円-ドル相場を95〜105円の範囲だけ表示。
395名無しさん@そうだ選挙にいこう:2014/03/16(日) 10:35:40.86
縦軸の範囲を設定するだけ
396名無しさん@そうだ選挙にいこう:2014/03/16(日) 17:15:04.42
>>395
それだと0円が表示できないんですが…
中間の値を波線で省いて表示したい。
397名無しさん@そうだ選挙にいこう:2014/03/16(日) 17:23:38.02
>>396
グラフの中間を省きたいってのはExcelのFAQ
答えは「無理」
グラフ専用のデータを用意したり、図形を重ねてそれっぽく誤魔化すしかない
398名無しさん@そうだ選挙にいこう:2014/03/17(月) 11:05:59.10
質問よろしくお願い致します。
行G:Gが空欄である場合を除いてD5:D100に「定期」という文字がある場合F5:F100を計算する、
の式が組み立てられません
D5:D100~はSUMIFで組み立てられるのだがG:Gが空欄の場合はカウントしない、を
どこにどう組み込むのか。
行Gは入金の日付を入力してありここの入力がない時は値段セルに数値が入っていても
合計から抜く、という式を作りたいのです。
よろしくお願い致します。
399名無しさん@そうだ選挙にいこう:2014/03/17(月) 11:13:40.28
>>398
読みにくい
Gは列だ

Gが空白でない
Dが定期
の場合Fを足し算だね
=SUMPRODUCT((D5:D10="定期")*(F5:F10)*(G5:G10<>""))
400名無しさん@そうだ選挙にいこう:2014/03/17(月) 11:14:12.86
hanni matigaeta
tekito- ni syuseisitene
401名無しさん@そうだ選挙にいこう:2014/03/17(月) 23:09:50.62
>>394-397
三四郎とか別のソフトを使ったほうが良い
そしてその画像を貼り付けるとか
402名無しさん@そうだ選挙にいこう:2014/03/18(火) 05:16:38.46
>>401
スレチになるけど、そのようなグラフを描けるソフトはどんなのが有りますか?
安くてExcelのデータが使えるもの。
403名無しさん@そうだ選挙にいこう:2014/03/19(水) 11:31:26.28
それくらいベクター等で探せばいいだろ

グラフ描画

とかでぐぐれや
404名無しさん@そうだ選挙にいこう:2014/03/19(水) 15:09:14.56
>>332
それ、Sheet1 以外のモジュールに記述してて
ソートキーでワークシートを指定してないオチだろ?

で、F8中は Sheets1 を見ながらやってたと。
405名無しさん@そうだ選挙にいこう:2014/03/19(水) 15:10:10.54
1週間前だったorz
406名無しさん@そうだ選挙にいこう:2014/03/19(水) 18:29:02.09
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

今まで普通に使えていたのですが、おとといから急にファイルを保存する時テンポラリドキュメントに保存したので
それを開いて新しい名前を付けて保存してくださいというメッセージがかなりの頻度できるようになりました。
このときは保存できず強制終了し元のファイルは無くなっています。

もともと動作保障はないのですがウィンドウス7のアップデートが原因ですか?どうしたらいいでしょう?
407名無しさん@そうだ選挙にいこう:2014/03/19(水) 18:41:34.03
再インストール
408名無しさん@そうだ選挙にいこう:2014/03/19(水) 18:51:14.10
さっそくの返事ありがとうございます。
今日再インストールしましたけど同じでした…orz
ヘルプのアプリケーションの自動修復はまだやっていませんがどうでしょうか?
409名無しさん@そうだ選挙にいこう:2014/03/19(水) 18:54:25.50
>>408
windows7 エクセル2000 保存できない
でぐぐってかたっぱしから試せ
無理なら諦めれ
410408:2014/03/19(水) 19:00:35.37
>>409
去年の8月にパソコン買い換えてから普通に使えていたのですが・・・
こうなったらエクセル2010をネットで1.5万くらいで買って使おうかとも思っています。
この場合2000で作ったファイルは2010で使えますか?自作のファイルでピッポトテーブル
を使っていますが2000のファイルは2010で読み込めても編集はできないんですかね?
2000のファイル上のデータをコピペで2010に移せますか?
411名無しさん@そうだ選挙にいこう:2014/03/19(水) 19:17:13.19
そのまま使える
412名無しさん@そうだ選挙にいこう:2014/03/20(木) 01:13:08.39
64ビット版のWindows7proで
WindowsUpdateをついさっきやってみたけど特に更新はなかった。
(自動更新してるんですでに最新の状態だったのだと思う)
うちではこの状態でExcel2000が何の問題もなく普通に使えてるよ

どうやら>>406さん固有の問題みたいだね
413名無しさん@そうだ選挙にいこう:2014/03/20(木) 08:47:34.59
>>406
マクロで特別なことをやっていて、上位バージョンに移行できない
とかないかが入り、Excel2000使ってる意味ないよ。
414名無しさん@そうだ選挙にいこう:2014/03/20(木) 09:50:03.37
>>413
Excel2000を使ってる意味 = 新しいのを買う金が無い
415名無しさん@そうだ選挙にいこう:2014/03/20(木) 10:14:49.97
まあそういうことなんだろけど。
時間の浪費のほうがデカいよね。
その時間バイトして買ったほうがいいぞ〜。
416名無しさん@そうだ選挙にいこう:2014/03/20(木) 11:28:37.42
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ユーザーフォーム内の値をグローバル変数を使わずに受け取るにはどうすればいいでしょうか?
ユーザーフォームの呼び出し元で

UserForm.Show
value1 = UserForm.CheckBox1.Value

としてみましたがCheckBox1.Valueの初期値が代入されるだけで
CheckBox1にチェックしたかどうかの結果は反映されませんでした。
417名無しさん@そうだ選挙にいこう:2014/03/20(木) 11:44:12.93
>>416
そんなアホなことは起こりません。
CheckBox1にチェックしたかどうかの結果が代入されます。
418名無しさん@そうだ選挙にいこう:2014/03/20(木) 11:47:32.25
まさか代入してるのがフォームの最初だけじゃないだろうな
チェックしたあとで代入するんだぞ
419416:2014/03/20(木) 12:39:23.71
Unload UserFormとしていたのが原因でした
値を受け取りたい時はUserForm.Hideとしないと行けないのですね
420名無しさん@そうだ選挙にいこう:2014/03/20(木) 12:48:21.58
>>419
標準モジュールに
Sub a()
With Userform1
.show
msgbox .Checkbox1 & vbcrlf & .checkbox2
End With
End Sub
って書いて、
ユーザーフォームにチェックボックス2個作って
それぞれのクリックイベントに

Unload Me



Me.Hide

を書いてみたけど、
どっちでも値は取得できたよ。

強いて違いをあげると
Hideのときは次にマクロを実行したときに前の値が残ってるけど
UnloadしたときはどっちもFalse(初期値)になってることぐらいだった
421名無しさん@そうだ選挙にいこう:2014/03/20(木) 12:48:29.97
無料のexcel onlineでいいんじゃないの?
422名無しさん@そうだ選挙にいこう:2014/03/20(木) 15:40:33.07
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Dim Path As String
Dim Shell As Object
Dim Folder As Object

Path = "C:\Users"

Set Shell = CreateObject("Shell.Application")
Set Folder = Shell.NameSpace(Path)

このコードを実行するとFolderの値がNothingになってしまいますが
変数の宣言を
Dim Folder
とするときちんと動作します。このことから上記コードではFolderの変数の型の宣言が間違っているのだと分かりました。
型の宣言をしなければ動作するのでこのままでもいいのですが、Folderの変数の型をきちんと宣言しておきたいです
Folderの変数の型は何にするのが適切なのでしょうか?
423422:2014/03/20(木) 15:42:36.88
すいません。間違えました訂正します

Dim Path As String
Dim Shell As Object
Dim Folder As Object

Path = "C:\Users"

Set Shell = CreateObject("Shell.Application")
Set Folder = Shell.NameSpace(Path)

このコードを実行するとFolderの値がNothingになってしまいますが
変数の宣言を
Dim Path
とするときちんと動作します。このことから上記コードではPathの変数の型の宣言が間違っているのだと分かりました。
型の宣言をしなければ動作するのでこのままでもいいのですが、Pathの変数の型をきちんと宣言しておきたいです
Pathの変数の型は何にするのが適切なのでしょうか?
424名無しさん@そうだ選挙にいこう:2014/03/20(木) 16:16:07.36
そんな奇怪なことあるのか。見る限りはStringで問題ないけど。
フォルダーも参照設定してないならObject以外に指定しようがないし。
別のところでPathって名前でなんかやらかしてるとか?
PathじゃなくてHageでやってみても同じ?
425名無しさん@そうだ選挙にいこう:2014/03/20(木) 16:21:09.13
あと「Shell」も「Folder」もVB系の変数名としては危ない。
オブジェクト名と被ってるからおかしなことになりそう。
426名無しさん@そうだ選挙にいこう:2014/03/20(木) 16:21:46.61
被ってるってのは頭の事じゃなくて名前ね。
427422:2014/03/20(木) 16:29:44.78
実際には全ての変数の前にImageSizeと付けてあります
例えば、ImageSizePathのようにです
長くて見づらかったのでこのように変更して書き込みました
ですので名前が原因では無いと思います
428名無しさん@そうだ選挙にいこう:2014/03/20(木) 16:35:17.82
>>427
msdnを読め
Namespaceメソッドの引数はVariant型が正解
http://msdn.microsoft.com/en-us/library/windows/desktop/bb774085(v=vs.85).aspx

だから、どうしても宣言をきちんとしたいなら

Dim Path As Variant

と書くことになる
429名無しさん@そうだ選挙にいこう:2014/03/20(木) 16:38:44.25
430422:2014/03/20(木) 16:41:54.77
>>428
ありがとうございます
MSDNをきっちり読むようにします
431名無しさん@そうだ選挙にいこう:2014/03/20(木) 17:09:28.55
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
以下の様なデータがあります
北海道 山田です(本来はもっと長い文章)
北海道 田中です
北海道 田中です
青森 田中です
青森 山田です
これを
北海道 山田です
北海道 田中
北海道 です
青森 田中です
青森 山田です

B2、B3は列結合をしてもしなくても構いません。
こういう表示をさせるための、オススメの方法はありますか?

VBAで作ったらVBAが使えない環境があることが分かり、、グッタリしているところです。
432名無しさん@そうだ選挙にいこう:2014/03/20(木) 17:33:06.27
>>431
何を言いたいのか良く分からなかった
人名らしき部分と「です」の部分を判別する際の基準とか
そういうところをもっと丁寧に説明するべきだと思う
433432:2014/03/20(木) 17:40:42.06
一応、こういう事かと推測したのは
A列の内容が同じで、かつB列の内容も等しい行に対して
何らかの処理によってB列の内容を分割して
条件を満たす範囲の行に割り振るような処理かと考えたんだけど
それで有ってる?
仮にあってるとしても>>432で言った点以外にも
例えば

北海道 田中です

が3個以上連続したらどうなるんだろうか?
とかも分からないけど。
434名無しさん@そうだ選挙にいこう:2014/03/20(木) 17:54:17.54
>>432
すいません、A列とB列が同じなら、
続く限り一つにまとめたいということです。

CSVで吐き出して他のソフトで処理、というのでもいいです。
何か方法はありませんか?


北海道 山田です
北海道 田中です
北海道 田中です
北海道 田中です
青森 田中です
青森 山田です

北海道 山田です
北海道 田中
北海道 で
北海道 す
青森 田中です
青森 山田です

と言った感じです。
A列はまとめません。上司の命令なのでこれはどうにもなりません。
435名無しさん@そうだ選挙にいこう:2014/03/20(木) 18:09:41.66
正解のVBA作ってあるならそのコード載せたほうが早いんじゃない?
さっぱりルール分からん
436名無しさん@そうだ選挙にいこう:2014/03/20(木) 18:11:10.05
よろしくお願いします。

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初歩的な質問すみません。

Book Aに300名ほどの名簿があります。
このAの名簿をBook B(1,500名ほど)と
Book C(200名ほど)の名簿と照合し、重複した氏名を抽出したいのです。

また、名簿には住所や金額などが掲載されており、そのデータも反映されるよう抽出するにはどうしたらよいのでしょうか…こまってマス。
437名無しさん@そうだ選挙にいこう:2014/03/20(木) 18:13:48.97
↑連投すみません
照合するのは氏名のみです。
Book BとBook Cはそれぞれ抽出します。
438名無しさん@そうだ選挙にいこう:2014/03/20(木) 18:16:35.15
>>436
AとBの名簿を1枚のシートにコピペで合体させてピボットテーブルで件数を数える
件数が2以上になった名前は重複と判断できる
同様にAとCでも重複を調べる
最後にVLOOKUPで氏名以外の部分を取り出せばいい
439432:2014/03/20(木) 18:16:52.58
>>434
俺の推測は大雑把にみれば大体当たってたみたいだけど
B列の分割ルールが未だに分からない

北海道 田中です 

が100個続いたらどうなるのよ
1000個続いたら?
10000個続いたら?
分割する区切りはどうやって判断してるの?
なんで「田中」は分けないのに「です」は分けるの?

要するに、B列の内容をどう振り分けるのか、
の規則性についてまだまだ全然説明不足だと思うよ。
440名無しさん@そうだ選挙にいこう:2014/03/20(木) 18:22:19.56
>>436
フィルターの詳細設定でいけんじゃないの。
リスト範囲にAのセル範囲、条件範囲にBかCの氏名の列、抽出範囲に氏名やらなんやらのフィールド名書いたセル範囲で。
441名無しさん@そうだ選挙にいこう:2014/03/20(木) 18:30:27.97
>>434
単に、連続した同じものは一行にするというだけのことね。
442名無しさん@そうだ選挙にいこう:2014/03/20(木) 18:51:40.93
>>441
どうみてもそうじゃない
443名無しさん@そうだ選挙にいこう:2014/03/20(木) 19:24:13.80
vlookupでいいじゃん
444431:2014/03/20(木) 19:26:50.02
皆さん有難うございます。細かいルールは、ありません。
二列の内、両方が同じならそれを「表示上」一行にまとめれば良いです。
もちろん数が多いので自動で、という条件はつきます。
あと、
北海道 田中です
北海道 田中です
青森 田中です
北海道 田中です
こうなった場合は
北海道 田中
北海道 です
青森 田中です
北海道 田中です
こうなります。別のもの間に挟まれた場合は、一緒にはしません。

>>439
例が悪くてスイマセン、分割では無いのです。
とにかく重複するB列を一つにまとめたいんです。

参考例です。(短いと何が何だかわかりにくいのでちょっと長くしました)
http://www.dotup.org/uploda/www.dotup.org4942704.png
445431:2014/03/20(木) 19:27:23.46
>>435
今作りました。実際に使ったものもほぼ同じです。

Sub a()
xstart = 0
For i = 1 To 10
If Cells(i, 1) <> Cells(i + 1, 1) Or Cells(i, 2) <> Cells(i + 1, 2) And xstart <> 0 Then
Range(Cells(xstart, 2), Cells(i, 2)).Select
With Selection
.MergeCells = True
End With
End If
If Cells(i, 1) <> Cells(i + 1, 1) Or Cells(i, 2) <> Cells(i + 1, 2) Then
xstart = i + 1
End If
Next
End Sub
446名無しさん@そうだ選挙にいこう:2014/03/20(木) 19:46:47.54
vba使わずに元データであるb列を書き換えることがまず無理
「表示上」でいいなら条件付き書式で文字色を白にしたら?
447名無しさん@そうだ選挙にいこう:2014/03/20(木) 19:53:31.81
>>445
VBA無しでセルの結合は、1つずつ選択と結合を繰り返すしかないので、あきらめてください

VBAの使える環境にデータを移して、作業してから元の場所に戻すとか
448名無しさん@そうだ選挙にいこう:2014/03/21(金) 07:53:41.98
>>445
CSVに落してよければPowerShellでVBAより簡単にできるよ
449名無しさん@そうだ選挙にいこう:2014/03/21(金) 12:59:23.20
csvでセルの結合?
450名無しさん@そうだ選挙にいこう:2014/03/21(金) 18:08:13.43
>>449
そもそもセル結合の必要ないでしょ
451名無しさん@そうだ選挙にいこう:2014/03/21(金) 22:35:55.03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 わずかに
【4 VBAでの回答の可否】 可

ご教示下さい。
書式設定が"dd"の日付情報が入ったセルと、
書式設定が"00"に数値情報が入ったセルがあったとします。
 例として
   21・・・(実際には2014/03/21の日付情報)
   22・・・(実際には2014/03/22の日付情報)
   23・・・(23という数値)
上記のように、書式がミックスされ使い勝手の悪い状態から、
全て表示どおりの数値情報に上書きしたいのですが、
マクロでどのように記述すればよいでしょうか?
よろしくお願いします。
452名無しさん@そうだ選挙にいこう:2014/03/21(金) 22:54:40.83
>>451
上書きじゃなく別セルに作るとしてみた。
2013/03/21のセルをA1とすれば
A1: =IF(A1>40000,DAY(A1),A1)
という感じでいかがでしょう。
453名無しさん@そうだ選挙にいこう:2014/03/21(金) 22:55:54.80
>>451
ごめん、マクロという指定でしたか、
シートでの指定を書いちゃいました
454451:2014/03/21(金) 22:59:19.19
>>452
ご回答頂ありがとうございます。
やはりマクロ処理での上書きは適さない内容ですかね?
結構煩雑な作りにつき、マクロで処理したいのが本音です。
ありがとうございました。
455名無しさん@そうだ選挙にいこう:2014/03/21(金) 23:03:27.94
二桁で済む数値か否かで処理出来そうだな
456名無しさん@そうだ選挙にいこう:2014/03/21(金) 23:10:15.02
>>451
>452でいけるなら
if selection>40000 then
daysuji = DAY(selection)
selection.NumberFormatLocal = "00"
selection = daysuji
end if
こんなんでいけるんじゃね?
457名無しさん@そうだ選挙にいこう:2014/03/21(金) 23:15:37.05
>>451
マクロの記録開始
範囲を選択、コピー、値の貼り付け
マクロの記録停止
458451:2014/03/21(金) 23:24:26.50
>>452-457
ありがとうございます。
>>456さんの内容でクリアできました。
459名無しさん@そうだ選挙にいこう:2014/03/22(土) 02:02:36.39
もう既に解決してる話を蒸し返して申し訳ないけど
個人的に書いてみたくてこんなん書いた。

Sub a()
Dim c As Range
For Each c In ActiveSheet.UsedRange
 With c
  If .NumberFormatLocal = "dd" Then
   .Value = .Text
   .NumberFormatLocal = "00"
  End If
 End With
Next c
End Sub

最初はString型変数 "txt" も宣言して
Sub a()
Dim c As Range
Dim txt As String
For Each c In ActiveSheet.UsedRange
 With c
  If .NumberFormatLocal = "dd" Then
   txt = .Text
   .NumberFormatLocal = "00"
   .Value = txt
  End If
 End With
Next c
End Sub
とかやったけど、どうせ日付の情報なら
txt介さなくても結果変わらんと思ったんで省いた。
460名無しさん@そうだ選挙にいこう:2014/03/22(土) 19:19:16.49
a b c d e f g h i j
1: 1 0 0 0 0 0 0 0 0 0 ←条件を満たす行の数値をすべて赤文字に変化
2: 0 0 0 0 0 0 0 0 0 0

条件付き書式でA列(特定の列)の数値が0以上の場合 
1の行の文字すべてを赤くなるようにしたいのですが条件付き書式などで設定できますでしょうか?
(Excel2003を使用) 基本機能でできない場合はVBAも可能。
461460:2014/03/22(土) 19:24:05.32
>>460
補足・・
力業で1セルづつ条件付き書式で指定すればできますが
数百行あるデータであるため一括指定もしくは表全体にまとめて指定する方法を探しています。宜しくお願い致します。
462名無しさん@そうだ選挙にいこう:2014/03/22(土) 21:56:01.61
>>460
条件付き書式でできる、けど俺なら楽な方(VBA)でやる
463名無しさん@そうだ選挙にいこう:2014/03/22(土) 22:02:33.16
>>460
マクロならたったこれだけ

Sub Macro1()
  For r = 1 To 500
    If Cells(r, 1) > 0 Then Rows(r).Font.Color = vbRed
  Next
End Sub
464名無しさん@そうだ選挙にいこう:2014/03/22(土) 22:03:21.71
>>460
a b c d e f g h i j
を範囲指定して、=$a1>0 で条件付書式を設定で済む話しでは?
465名無しさん@そうだ選挙にいこう:2014/03/22(土) 22:21:50.29
条件付き書式も
Excel2003まではよかったけど
Excel2007になってからというものの余計なお世話機能がたくさんつきすぎて訳がわからなくなってしまった。
466名無しさん@そうだ選挙にいこう:2014/03/22(土) 22:55:07.91
>>462
>>463
>>464
>範囲指定して、=$a1>0 で条件付書式を設定
なるほどこのように指定出来るのですね、そして複数行はやはりVBAでやるのが良さそうですね。
的確かつわかりやすい回答をどうもありがとうございました。助かりました。
467名無しさん@そうだ選挙にいこう:2014/03/22(土) 23:34:15.29
こんばんは。
こんな状況、たまにでくわすと思うけど皆はどうやってんの?
 ・様々な人が使用する
 ・入力にルール性を持たない
といった環境でエクセルデータが複数有った場合、
それぞれのファイルで人間が判断すれば、同じ内容であるものの、
 ・全半角違い
 ・スペース有無
 ・3とBとBの違い
 ・その他ぐちゃぐちゃ
があって、比較等をしたくとも機能しない状況があるよね?
いつもこんなデータはあきらめて向き合いもしないんだけど、
参考までに上手い手段もってりゃ教えて。
468名無しさん@そうだ選挙にいこう:2014/03/22(土) 23:35:08.57
条件付き書式を数百行に設定するとブックが重くなりそうだからVBAのがいいと思う
469名無しさん@そうだ選挙にいこう:2014/03/22(土) 23:37:57.72
>>468
やっぱそうか。
結局ゴリゴリ一つずつの条件を書いて、詰めてくしかないのね。
メンドイからどっかにそういったfunctionサンプルとかない?
470名無しさん@そうだ選挙にいこう:2014/03/22(土) 23:47:27.60
>>467
そんな都合のいい方法あるわけないじゃん

1) 業務に支障が出そうなら夜中にこっそり置換してデータを直しておく
2) データが毎日どんどん増えるなら、あらゆるケースを想定した検索プログラムを作る
3) 単なる住所録とかなら放置、年に一度ぐらい気の向いた時にざっと重複チェック

うちの会社は全国に支店があって入力する人も何万人もいるんで本当にぐちゃぐちゃ
住所の番地部分なのにゼロとオーを間違えるとか当たり前
だから莫大な資金を投入して検索システムを作った
つまり2番の方法で対処してる
471名無しさん@そうだ選挙にいこう:2014/03/22(土) 23:50:39.44
>>467
根本的には入力しすてむ用意することですね。
472名無しさん@そうだ選挙にいこう:2014/03/22(土) 23:50:50.99
>>470
住所関連はまさにこのネタで賑わうよな。
住所じゃないけど例えばこんなレベルの差とかどう?
・ブックス情報:目は1分でよくなる!第1版今野清志在庫あり1,365円(税込)
・ブックス情報;目は1分でよくなる!第@版 今野清志-在庫有り1365円(税込み)

基情報崩れても、比較で合致を見たいだけなら
 ・スペース → 削除
 ・半角英数カナ → 全角
 ・:;-()+*[{}]<>&類 → 削除
 ・@T@類 → 1(存在する数字分全て)
こんなところかな。

 ・ありと有り
 ・税込と税込み
なんかは入力違いの数だけ条件ありそうだから諦める部分。
 ・oと0
の補正なんてリスク高いわ。
473名無しさん@そうだ選挙にいこう:2014/03/22(土) 23:53:17.52
>>471
だなー。
ちなみに住所で思い出したけど、良くある住所2情報(番地以下マンションとか)で
文字数制限引っかかって登録できないフォームあったわ。

自分がフォーマット1から作るならいろいろストイックな条件強いてやるのに。
474名無しさん@そうだ選挙にいこう:2014/03/23(日) 00:02:10.64
.netであいまい検索があったような気がするけど、無かったかなぁ
475名無しさん@そうだ選挙にいこう:2014/03/23(日) 00:06:08.47
>>474
一生懸命見つけてくれよ。
476名無しさん@そうだ選挙にいこう:2014/03/23(日) 00:06:52.29
hit 1件一生懸命
hit 0件一所懸命
こんなのも余裕であいまい検索な。
477名無しさん@そうだ選挙にいこう:2014/03/23(日) 00:14:48.31
>>474
それがいいでしょね、PowerShellで.netの正規表現つかうのが
一番簡単
478名無しさん@そうだ選挙にいこう:2014/03/23(日) 00:17:02.51
>>475
レーベンシュタイン距離・・・かなぁ。昔やったと思ったんだが、違う言語だったかも知れん。スマン
479名無しさん@そうだ選挙にいこう:2014/03/23(日) 00:42:02.52
>>472
カッコの種類も全角半角以外にも色々あるし「税込み」と「内税」は同じ意味だし「消費税含む」みたいな表現もあるだろうし
今みたいな時期なら(3月までの価格)みたいな但し書きが付くこともあるし

データベースのフォーマットは誰かが独断でルールを明文化しない限り統一されることはない、ってのが結論
480名無しさん@そうだ選挙にいこう:2014/03/23(日) 00:50:42.25
半角マイナスで文字列検索したらひっかからなくて、原因を必死に調べたらユニコードのダッシュで脱力したわ
そういうのが最近増えてて地味に困る

諸悪の根源はたいていiPhoneなんだけどな
記号とか入力しても、変換候補の最初にユニコード文字を出しやがる
半角スペースまでわざわざ2バイト文字を入れてくるんだぜ
なんの嫌がらせだ
481名無しさん@そうだ選挙にいこう:2014/03/23(日) 01:10:21.86
>>470
データが多い場合は、独自にやるのはあきらめたほうがいい
>>479 のような方法もあるていど有効だけど、あくまである程度
極端な例でいえば100万件(ネットなどではよくある)あったら、
98%ただしくても、2万件は人が目を通す必要がでてくる。

データが大きくなければ、googleやYahooの情報(APIつかって)や、
国土交通省、郵政のデータと突き合わせして、ある程度は綺麗に
できるが、自分でできるかな?

それでも、京都の住所とかは、辞書がないと歯が立たないので、
業者に出した方がいい。
482481:2014/03/23(日) 01:16:40.10
訂正
誤  >>479 のような方法もあるていど有効だけど、
正  >>478 のような方法もあるていど有効だけど

あくまで住所データに関しての話ね。
483名無しさん@そうだ選挙にいこう:2014/03/23(日) 01:21:45.03
住所で一番困るのは、シフトJISコードに存在しない文字が現実にたくさん使われてること
ユニコードでほとんどカバーできるようになったけど、そう簡単に既存システムの文字コードなんて変更できない
484名無しさん@そうだ選挙にいこう:2014/03/23(日) 08:43:01.00
>>483
おそらくスレチです
テンプレ使って質問するか、よそで質問してください
485名無しさん@そうだ選挙にいこう:2014/03/23(日) 09:26:04.89
質問ではあるまい ただの愚痴だ
486名無しさん@そうだ選挙にいこう:2014/03/23(日) 12:58:13.24
とりあえず
 ・スペース → 削除
 ・半角英数カナ → 全角
 ・:;-()+*[{}]<>&類 → 削除
 ・@T@類 → 1(存在する数字分全て)
このあたりをおよそ100条件ゴリゴリ書いたけど、
Aファイルに1万個のデータと、Bファイルに一万個のデータを突合するため、
1件1件上記前処理して、カウントイフで全てに対して記述したらカクカクになったわ。
あいまいさはある程度処理できたけど、総当りチェックって大変なのな。
487名無しさん@そうだ選挙にいこう:2014/03/23(日) 13:31:19.53
>>466
複数行なら、複数行選択して条件付き書式設定すればいいだけ
$a1の意味を考えれ
488名無しさん@そうだ選挙にいこう:2014/03/23(日) 13:38:00.57
>>486
rangeをvariantな変数に突っ込めば多少マシになる予感
489名無しさん@そうだ選挙にいこう:2014/03/23(日) 14:00:11.46
テキストの整形は色々な場面で必要になるけど、ReplaceとIfが何十行も続くんだよな
順番を変えるとダメになったり、整理しようとしたら意外とどれも必要だったり、
なんのために条件を追加したのかわからなくなったり
コメントアウトしたIf文がどんどん溜まっていったり

もちろんコメントはちゃんと書くんだけど、意外に未来の自分に伝わらない
490名無しさん@そうだ選挙にいこう:2014/03/23(日) 17:27:01.43
>>488
詳しく。
カウントイフもブイルックも1件対多数にしないと重いわ。
多数対多数で総当りチェックの手本みたいなの希望な。
491名無しさん@そうだ選挙にいこう:2014/03/23(日) 18:40:59.00
>>483
どっかの銀行が、
「SEが馬鹿だから、システム更新したら外字管理できないようになったので、
使える文字に客側で勝手に変更して登録し直してね♪」
ってなかったっけ?

TRONをつぶすからこういうことになるんだよ。
「形が似ているから同じ漢字でまとめちゃっていいよね?
どうせ俺ら使わないし♪」ってやつらに文化を壊されている。
492名無しさん@そうだ選挙にいこう:2014/03/23(日) 18:58:49.27
>>489
Select case じゃだめなのか?
493名無しさん@そうだ選挙にいこう:2014/03/23(日) 19:45:53.78
君がくれたもの
494名無しさん@そうだ選挙にいこう:2014/03/23(日) 22:50:12.93
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ご教授ください。
例えば、りんごとバナナのどちらが好きかというアンケートがあって、
りんごのみを回答した人数、バナナのみを回答した人数、両方好きと回答した人数を集計したいのですが、
どのように集計するのが早いでしょうか。
現状は、

鈴木 りんご
佐藤 バナナ
高橋 りんご
高橋 バナナ

のようなデータが大量にある状態です。
エクセルで集合の集計を簡単に出す方法を調べても出てこなかったので
質問させていただきました。よろしくお願いします。
495名無しさん@そうだ選挙にいこう:2014/03/23(日) 22:59:26.79
>>494
countifs関数は?
496名無しさん@そうだ選挙にいこう:2014/03/23(日) 23:21:53.57
(1)りんごの数を集計
(2)バナナの数を集計
(3)名前の重複を消して人数を集計

(1)+(2)-(3)で両方好きの人数が出る→(4)とする
(1)-(4)でりんごだけ好きの人数が出る
497名無しさん@そうだ選挙にいこう:2014/03/23(日) 23:22:27.73
項目は何個ぐらいあるのか
2個なら楽勝ね
498名無しさん@そうだ選挙にいこう:2014/03/23(日) 23:27:54.65
やるまでもなく、バナナのほうが人気あるだろ。
499名無しさん@そうだ選挙にいこう:2014/03/23(日) 23:35:07.85
ピボットテーブルで
500名無しさん@そうだ選挙にいこう:2014/03/23(日) 23:52:55.68
クイズ100人に聞きました
501名無しさん@そうだ選挙にいこう:2014/03/23(日) 23:53:34.18
みかん好きの立場は…
502名無しさん@そうだ選挙にいこう:2014/03/24(月) 00:07:21.68
>>498
俺リンゴはそこそこ好きだけど
バナナは大嫌い
503名無しさん@そうだ選挙にいこう:2014/03/24(月) 09:53:12.41
>>496
>名前の重複を消して
大量のデータだと同姓同名も有るんじゃないの
504名無しさん@そうだ選挙にいこう:2014/03/24(月) 12:45:51.81
>>503
姓しかないよ
505名無しさん@そうだ選挙にいこう:2014/03/24(月) 13:09:05.28
>>494
まず
>どちらが好きか?
の設問ならば複数回答出来なくしておけよな
506名無しさん@そうだ選挙にいこう:2014/03/24(月) 13:13:16.31
>>504
そういう意味ちゃないだろう

同姓だらけになっちゃうんじゃないか?
もしみんな、気に入って結婚しちゃったら
同じ苗字だらけで大変だぞ!
507名無しさん@そうだ選挙にいこう:2014/03/24(月) 14:42:19.47
要は名前なんていう重複しやすいものを
データを識別する材料にしたらダメだって事だろ
IDなり何なりの一意な識別子を用意しとけって話
508名無しさん@そうだ選挙にいこう:2014/03/24(月) 18:52:46.95
知らんがな…
509名無しさん@そうだ選挙にいこう:2014/03/24(月) 20:56:54.75
そこでキラキラネームですよ
510名無しさん@そうだ選挙にいこう:2014/03/24(月) 22:05:10.92
>>509
なるほど・・・
なっとくしちゃった。
511名無しさん@そうだ選挙にいこう:2014/03/25(火) 00:51:12.94
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可


100問くらいある4択問題から50問(重複不可)をランダムで抜き出して答えさせるような方法はありますか?
採点も含めた方法ならベストです
512名無しさん@そうだ選挙にいこう:2014/03/25(火) 00:59:17.87
縦に100個並べて
indirect("a"&rand()*100,0)
みたいな感じで
513名無しさん@そうだ選挙にいこう:2014/03/25(火) 01:30:24.96
それだと重複するし、たとえばセルに解答を書き込むと、その瞬間に問題が入れ替わる
VBAかなあ
514名無しさん@そうだ選挙にいこう:2014/03/25(火) 01:41:41.77
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否
J5が初期状態無記入で、シート利用者が記入

CM119=if(J5="","",1)
CM120=if(J5="","",5)
CM121=if(J5="","",10)・・・と参照するセルがあって、

AZ26=CM122
AZ28=CM120
AZ30=CM119
AZ32=CM124

という、セルがあるんですが
何故かAZ30だけ「矛盾した数式」エラーになります
ただCM119をそのまま参照してるだけのAZ30がエラーになるのか、
何故同じことをしているAZ26、28、32がエラーにならないのか、
不思議で仕方ありません
どうしてただ他セルを参照してるだけでエラーが出るのでしょうか?
どうしていくつもある同じ数式でたった1つだけエラーが出るのでしょうか?
「エラーを無視」ではない根本的対処はないでしょうか?
515名無しさん@そうだ選挙にいこう:2014/03/25(火) 02:04:08.97
>>514
それはExcel2010のおせっかい機能だから、エラー無視でいいんだよ
並んでる数式の法則を勝手に推測して、「122、120の次は118だろ?間違えてるよ」って言ってるだけ
516名無しさん@そうだ選挙にいこう:2014/03/25(火) 02:12:36.10
>>515
ありがとうございます
さっそく「エラー無視」で対処します

・・・ところで、「エラー無視」って
他人が他のPCでこのシートを開いた時も
反映されるんでしたっけ?
一応、他の人が使うのが前提のシートなので
517名無しさん@そうだ選挙にいこう:2014/03/25(火) 07:31:32.60
他人か本人かを判断する機能はありません
518名無しさん@そうだ選挙にいこう:2014/03/25(火) 10:41:38.52
>>516

エラーを無視するかどうかの情報はブックごとに記憶されてるから
そのブックを他のPCで開いても同様に無視されてる

>>517
そういう持って回った言い方は分かりにくい
519名無しさん@そうだ選挙にいこう:2014/03/25(火) 12:02:28.29
>>517-518
ありがとうございました
520名無しさん@そうだ選挙にいこう:2014/03/25(火) 13:17:01.37
収支項目
A    B      C
 -----------------------
3 前年度繰越金  326,115
4 会費        511,000
5 市活性化助成金 380,000
6 市補助金      45,000
7 公民館使用料   51,000
※C列には生の数値ではなく
=IF(M9="",0,SUMIF($J$9:$J$201,M9,$F$9:$F$201))
のような関数が入っています。

 「収支項目シート」を検索して収支項目シートのC列の数値をN列にコピーしたいのですが、
VLOOKUPを使って下のようにやってもうまくいきません。
 C列は生のデータでなければいけないのでしょうか。
L    M      N
 -----------------------
3 前年度繰越金 = VLOOKUP(M3,収支項目!$B$3:$C$7,2)
4 会費     
5 市活性化助成金
6 市補助金   
7 公民館使用料 
521名無しさん@そうだ選挙にいこう:2014/03/25(火) 13:25:49.40
>>520
=VLOOKUP(M3,$B$3:$C$7,2,false)

=VLOOKUP(M3,$B$3:$C$7,2,0)
原因はvlookupでぐぐって引数の意味を調べて
522520:2014/03/25(火) 13:30:55.86
ありがとうございました。
523名無しさん@そうだ選挙にいこう:2014/03/25(火) 13:36:22.19
>>520
俺ならB3:B7に「科目」、C3:C7に「金額」の『名前』をつけて
N3=INDEX(金額,MATCH(M3,科目,0),1)とするなぁ…。

つか、なんでBとMが完全一致してるのにわざわざ参照使うの?
B3とM3が変動しないなら、N3=C3のべた打ちでいいじゃん。
524名無しさん@そうだ選挙にいこう:2014/03/25(火) 13:49:27.08
>>523
名前は負の遺産になるから、使わないようにしてるんだが、良いことあるの?

条件付き書式で、別シート参照するのにindirectじゃ重い時くらいしか使ったことない
525名無しさん@そうだ選挙にいこう:2014/03/25(火) 19:14:49.03
>>524
負の遺産って?
526名無しさん@そうだ選挙にいこう:2014/03/25(火) 19:27:43.66
>>523
> つか、なんでBとMが完全一致してるのにわざわざ参照使うの?
> B3とM3が変動しないなら、N3=C3のべた打ちでいいじゃん。
 いや、確かにそうですね。Excel 使うの14年ぶりなんですよ。つまりExcel2000以来(笑)。
使ってるのはExcel2003ですが解説書はExcel2000のもの。他シートのセルの入力のような
簡単なことが意外と本には載ってないですね。ま、老いた頭を再インストールするつもりで
ボチボチ勉強していきます。
527名無しさん@そうだ選挙にいこう:2014/03/25(火) 20:12:31.40
>>524
リストとindirect辺りの組み合わせで、確か名前を定義しないと参照できないってバグが一応あった気がする
それですら使ったことないけど
>>525
他人の付けた名前なんて使いにくいだけ、関数も読みにくくなるだけ
528名無しさん@そうだ選挙にいこう:2014/03/25(火) 21:56:11.06
>>511
↓を見てから質問ください。
https://www.youtube.com/watch?v=Su9jHbrV1lc&feature=player_embedded
問題数や回答時間を設定できます。
529名無しさん@そうだ選挙にいこう:2014/03/26(水) 22:32:50.85
>>525
代々受け継がれてきたようなファイルで、シートをコピーしようとしたときに
既に名前が使われてる云々のエラー見たこと無い?
手動で消そうにも参照が間違ってたり、名前が不正だったり
ファイルを一から作り直してもそのファイルに誰かがシートコピーすると再発売
530名無しさん@そうだ選挙にいこう:2014/03/26(水) 22:53:20.35
>>529
残念ながら経験ないな
531名無しさん@そうだ選挙にいこう:2014/03/26(水) 22:56:12.15
532名無しさん@そうだ選挙にいこう:2014/03/27(木) 01:45:17.30
それそれ
エラーで名前かえようとしたのか

ああ
あああ
aaa
asdf
みたいのが数百個とか
たまに名前の参照先のブック名シート名が残ってて面白かったりする
533名無しさん@そうだ選挙にいこう:2014/03/27(木) 15:05:53.61
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
選択したセルを順番に処理していく方法をぐぐってFor Eachで解決したのですが
For Eachについて調べていたところほとんどのものはFor Nextでも処理できるという事が書いてありました。
上記のような選択したセルを順番に処理していくということもFor Nextでできるのでしょうか?
できるのであればどのような書き方になりますか?
例 A1〜A4を選択した状態にしてC1にA1から順番にコピーしていく。(この場合C1は最後04になってよいです。)

   A    B    C
1  01       
2  02
3  03
4  04
534名無しさん@そうだ選挙にいこう:2014/03/27(木) 16:09:18.96
for i=1 to 4
cells(1,3)=cells(i,1)
next i
535名無しさん@そうだ選挙にいこう:2014/03/27(木) 17:25:57.55
>>534
ご回答ありがとうございます。
現在選択されているセル(つまりA1〜A2の時もあればA2〜A4の時もあり毎回違う)を順番に処理したいので1から4の固定だとこちらの意図と異なってしまうのですが
ご回答の応用で可能ということでしょうか?
536名無しさん@そうだ選挙にいこう:2014/03/27(木) 18:51:50.03
>>535
「できる」と「意味がある」は別だな

選択範囲をFor Nextでやるには
For i = Selection.Row To Selection.Row + Selection.Rows.Count -1
(以下略)

みたいに、めんどくさい命令になる
処理する順番を下からに変えたいとか、別な事情がない限りは無意味
537名無しさん@そうだ選挙にいこう:2014/03/27(木) 18:57:31.71
VBAのことでいまいちわからないのですが
メソッドの機能を使うにはそのオブジェクトをActiveにしないといけないんですっけ?

妙なところでエラーがよく出てつまづいています
538名無しさん@そうだ選挙にいこう:2014/03/27(木) 19:19:08.61
>>537
ものによる
が、君の場合はめんどくさがって標準モジュールに書いてないせいだと思う
539名無しさん@そうだ選挙にいこう:2014/03/27(木) 19:22:13.88
エクセルVBAってなんでかforeach使いにくい気がする。
PHP、Cだと便利なんだけど、なんでだろう。
最初から何もかもが配列だからかなぁ
540名無しさん@そうだ選挙にいこう:2014/03/27(木) 19:25:19.79
シートを跨ぐ場合は標準モジュールをお奨めしますが
単一の場合はシートモジュールのほうが、良いこともありまする
541537:2014/03/27(木) 19:50:55.61
>>538
詳しく。

>>540
話せ。
542名無しさん@そうだ選挙にいこう:2014/03/27(木) 20:15:23.44
>>541
標準モジュール 理由
でぐぐって上から順番に読んでいけばok
543537:2014/03/27(木) 20:43:01.78
>>542
その心は?
544名無しさん@そうだ選挙にいこう:2014/03/28(金) 01:06:15.59
会話にならない
545名無しさん@そうだ選挙にいこう:2014/03/28(金) 08:23:28.57
>>539
仕様に関する質問はメーカーサポートへ
546名無しさん@そうだ選挙にいこう:2014/03/28(金) 10:57:53.06
>>536
ご回答ありがとうございます。
547名無しさん@そうだ選挙にいこう:2014/03/28(金) 12:45:18.26
【1 OSの種類         .】 Windowsどれでも
【2 Excelのバージョン   】 Excelどれでも
【3 VBAが使えるか    .】 どちらでも
【4 VBAでの回答の可否】 どちらでも
Excelは、数式を入れることによって『自動計算』してくれますが、
あまりに複雑すぎたり、引数と計算結果が多岐だったり、
感覚的だったり、アナログすぎるものは当然数式化できません。
こういった数式化できない部分に、注釈を入れたいのですが
『自動計算』の対語は何と書いたらいいんでしょうか?

自分でも、いくつか考えたのですが、どれもしっくり来ません
・このセルは『手計算』して下さい
・このセルは『暗算』して下さい
・このセルは『筆算』した結果を入力して下さい
・このセルは『自分で計算』して下さい
簡潔で、かつ、これだ!と言えるような単語をご教示ください
548名無しさん@そうだ選挙にいこう:2014/03/28(金) 12:49:24.40
なんで唐突に日本語クイズ出してんの
549名無しさん@そうだ選挙にいこう:2014/03/28(金) 12:56:20.41
>>547
ドレでもいいと思うけど
・このセルは『自分で計算』して下さい
がわかりやすいんじゃない
550名無しさん@そうだ選挙にいこう:2014/03/28(金) 13:10:26.77
>>547
複雑すぎたり、引数と計算結果が多岐だったりするのは数式化できるだろ
式を考えるのが面倒だからってサボってんじゃねえよ

「自分で計算する」のだって、その方法がわかってんなら数式化できるし

なんか質問がめちゃくちゃだな
551名無しさん@そうだ選挙にいこう:2014/03/28(金) 13:45:31.24
>>550
解が長過ぎてセルに入りきらないとか、解なしが出やすい計算とかあるだろ
なんでもサボりだって決め付けんのはちょっと早計だぞ
552名無しさん@そうだ選挙にいこう:2014/03/28(金) 13:50:24.87
>>550
印刷する帳票なんかだと、引数入力ためのセルが3箇所しかないのに4個目の引数が必要で
4個目の引数入力欄をつけると表としての体裁が崩れるので付けれないから自分で計算しろ
・・・なんて事は結構あるよ
553名無しさん@そうだ選挙にいこう:2014/03/28(金) 14:09:43.56
>>547
「手動入力」なんてどう?
554名無しさん@そうだ選挙にいこう:2014/03/28(金) 14:14:03.15
>>551-552
マクロでユーザー定義関数にしちゃうとか
印刷範囲外に非表示で作業セル作るとか
そのままでもやりようはあると思う
555名無しさん@そうだ選挙にいこう:2014/03/28(金) 14:28:09.01
>>554
以下のデータから太っているかどうかを判別する式を作れ
エラー表示、ランダム、空白表示などは禁止で、全て正確に出すこと
身長・160、体重・56
身長・171、体重・65
身長・多分160cmくらい?、体重・55kg
身長・162cm、体重・ヒミツ
身長・154cm、体重(未記入)
つまり質問者が困ってるのってこういう類じゃねえの?
556名無しさん@そうだ選挙にいこう:2014/03/28(金) 14:34:27.61
>>555
まず「太っている」の判定基準を考えろよ
たとえ人間が考えたって、体重ヒミツなら判断できないだろ
557名無しさん@そうだ選挙にいこう:2014/03/28(金) 14:37:36.00
「ヒミツ」なんてふざけた解答が許される条件で、何が何でも肥満かどうか正確に判断しなきゃならない状況ってのが想像できん
単なる遊びなら、それこそランダムでも不都合ないわけだし
558名無しさん@そうだ選挙にいこう:2014/03/28(金) 14:40:24.09
>>551
解がなければ「解なし」と表示する数式は作れる
559名無しさん@そうだ選挙にいこう:2014/03/28(金) 15:47:17.31
本題に戻そう
ようは手で入力する部分の注釈を入れたんだろ?
こればっかりは好みの問題もあるからなぁ
とりあえず俺はコメントの挿入で『直接入力』としてる
それでも気に食わなかったらここよりも文学とか大学受験とかの板だろ
560名無しさん@そうだ選挙にいこう:2014/03/28(金) 23:07:47.11
>>555
多分だの無回答は不明でいいだろ
困るか?その程度のものが。
561名無しさん@そうだ選挙にいこう:2014/03/29(土) 00:29:31.46
入力規則の入力時メッセージ活用をお勧めした方が
このスレらしさも保てるし、どんな入力が必要かユーザに示せるし
本来の目的も達成出来るので良いのでは?

俺なんかコメントを挿入する代わりに入力時メッセージの方を多用するよ
「何かコイツ使いこなしてる感」を出すのが好きだから
562名無しさん@そうだ選挙にいこう:2014/03/29(土) 01:04:55.73
めっちゃファジーなアンケートの集計をエクセルでやってくれと頼まれた
筆記式で1000人分、とりあえず人海戦術で入力だけはしたらしいが、これをいったいどうしろと

今日の昼までは、ここのやりとりをなんとなく眺めてたけど、なんか一気に人事じゃなくなったわ
こっちは単なる下請けだから、アンケートの方法には口出しできない
ちょっと頭を抱えてるところ
563名無しさん@そうだ選挙にいこう:2014/03/29(土) 01:07:38.20
Excelで集計するんなら四択とかにしてくんないとなあ
564名無しさん@そうだ選挙にいこう:2014/03/29(土) 02:15:17.24
>>562
勝手にカテゴリ分けして対応するか、
その方向性を出して交渉するしかないね
565名無しさん@そうだ選挙にいこう:2014/03/29(土) 08:57:27.11
>>562
「ファジー」って久しぶりに聞いたw
VBAでニューラルネットを実装して人工知能で学習させて、
アンケートを集計すればいいんじゃないかな。

現実的には、単語単位で切り出して、出現頻度でランク付けして、
上位の回答を抽出して、
「結果だけをエクセルに貼り付け」
て提出すればいいと思うよ。
集計のアルゴリズムは教えないで。

文句言ってきたら、
「集計の手順を明確にして指示をお願いします。」
っていえばいいんだよ。
そういうところは下請けの分担じゃないし、責任範囲じゃない。
566名無しさん@そうだ選挙にいこう:2014/03/29(土) 10:23:28.52
>>562
今までやったことなくて、手の出し方がわからないなら
下手に受けないほうがいいよ。
相当力かかる。
どうしてもやらざるを得ない、結果は荒くても構わないなら。
集計する品詞決めちゃえ、名詞か動詞に決めちゃって
あとは、同じ意味を別な言い方してるものあるから、それをまとめて
件数を数え、それ以上はやらない。

形態素解析ソフトも使えば少しは楽になるが、覚えてる時間もなさそう
だし、無料の茶筅なんかは商売じゃろくに使い物にならない。
だからやるなら、前述までで止めておいた方がいい。
567名無しさん@そうだ選挙にいこう:2014/03/29(土) 13:57:54.08
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 可
スペースの都合で横並びに書きましたが普通に縦並びに並ぶデーターが書かれた数百行ある表で
2の中間データを1の表から削除した表を作成したいのですが、
割り出し方もしくは削除方法を教えて下さい。。

1.元データ
1 2 3 4 5 

2.中間データ
2 5 

3.割り出したいデータ
1 3 4
568名無しさん@そうだ選挙にいこう:2014/03/29(土) 14:00:58.67
>>567
補足〜〜各データーの先頭に通し番号が振られています。
569名無しさん@そうだ選挙にいこう:2014/03/29(土) 14:32:39.20
>>567-568
表のレイアウトが良く分からないからコードじゃなくて概念だけ

シート上で消したいデータの通し番号を検索
該当の行を変数に格納(消す範囲の先頭)
消したいデータの次のデータの通し番号を検索
該当行の一行絵を変数に格納(消す範囲の最後)
消す範囲の最初から最後までを範囲指定して削除
570569:2014/03/29(土) 14:34:20.94
誤字があった

× 該当行の一行絵を変数に格納(消す範囲の最後)

○ 該当行の一行上を変数に格納(消す範囲の最後)
571名無しさん@そうだ選挙にいこう:2014/03/29(土) 14:40:49.96
>>569
ありがとうございます。
説明不足だったようですが
>>567 
3のデータ(消したいデータの番号)自体を合理的に割り出す方法を探しています。。
572名無しさん@そうだ選挙にいこう:2014/03/29(土) 14:46:03.84
>>567
>>569
http://www.webcyou.com/wp-content/uploads/excel_201.jpg
こういった典型的な表で数百行あります。
(画像は画像検索で適当に見つけた物です)
573569:2014/03/29(土) 14:47:50.16
それはもっと詳しく内容が書いてないと回答できないですよ
>>567の情報だけで的確な回答ができるのはエスパーだけです
574569:2014/03/29(土) 14:52:39.97
>>572を読まずに>>573を書きましたが
>>572の画像を見ても結局
何をどうしたいのかわかんなかったです。
あの表で言うとどれが削除したいデータに該当するのか、
それはどういう基準で決められているのか、
といったことが分からない限りどうにもならないです。
575名無しさん@そうだ選挙にいこう:2014/03/29(土) 14:57:53.98
>>573
>>574
失礼致しました。。
>>569
より1つ答えが見えました通し番頭から中間データの番号を検索して消せば3が導き出されるわけですね、
VBAのループ処理でやっていくかんじでしょうか、何となく見えてきました。
こういうデータを割り出す関数は無いようですねぇ、
576569:2014/03/29(土) 15:13:27.39
>>575
>こういうデータを割り出す関数は無いようですねぇ、

いや、だからですね。
「こういうデータ」とは一体どういうデータなのかについて
何も具体的な説明が無いので答えようがないのだと言ってるじゃないですか。

例えば>>572の表から部門の列を検索して通信販売とネットショップを除外する
とかそういうことなら出来ますけど、
それがあなたの望んでいることなのかこちらには分からないですし。

とにかく判断基準をあなたが具体的に提示しない限り誰にも答えられないです。
577名無しさん@そうだ選挙にいこう:2014/03/29(土) 15:14:45.30
>>573
>>574

>>567
2の中間データという説明の意味が違っていて誤解を招きました。すみません。
2は調査が終了した不用データとなります。
数百あるリストから調査が終了した項目がランダムに存在しましてそれを消し去った表を作成するのが最終目的です。
>>572
の画像に当てはめます2のショッピングモールと5の通信販売は調査が終了したためそれを削除したリストを作成使用としてます。
そしてとりあえずはシンプルに先頭番号を範囲指定すれば間引いてくれるような関数が無いか探しています。
578名無しさん@そうだ選挙にいこう:2014/03/29(土) 15:24:34.43
>>576
コメントが入れ違いだったようで失礼しました。

>例えば>>572の表から部門の列を検索して通信販売とネットショップを除外する
>とかそういうことなら出来ますけど、

正に探しているのはそれです!!
579569:2014/03/29(土) 15:26:26.10
>>577
そういう関数は無いと思いますけどVBAで作ることは出来ます。
580名無しさん@そうだ選挙にいこう:2014/03/29(土) 15:31:03.91
>>577
仮にA列にデータ番号、X列に調査済みのデータ番号が書かれているとして
適当な列の先頭に「調査済み」とでもして、その下に
=COUNTIF(X:X,A2)=0
これを下までコピー
trueでしぼれ
581名無しさん@そうだ選挙にいこう:2014/03/29(土) 16:16:53.44
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 否

A列に地名(重複あり)、B列に人名(重複無し)が入ってるデータがあり、地名でソートされています。
地名ごとの人数はバラバラです。
このデータを、地名が連続しないように、同一の地名ができるだけ離れるように並べ替えたいのですが、vba無しで可能でしょうか?
582名無しさん@そうだ選挙にいこう:2014/03/29(土) 16:31:07.85
できるだけってなんだよ;
583名無しさん@そうだ選挙にいこう:2014/03/29(土) 16:55:35.72
>>582
例えば地名が
aaaaa bbbbb ccccc dd ee
こんな風に並んでたら(実際は列)
abcde abcde abc abc abc
ではなく、
abc d abc e abc d abc e abc
こうしたい(同一地名ができるだけ離れるように)
584名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:03:42.93
>>581
地名毎に1〜No.を振る列を作る
その列をフィルタでソートする
585名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:03:47.86
>>583
vba無しじゃ無理なんじゃねーか?
それとも手動(何段階かの手作業と作業列の追加)でも良いの?
586名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:08:51.65
複数地区の人が集まって競技チームを組むのに使えそうだね
587名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:13:53.76
自分なら地名ごとに地名別に人名をグループ化して
グループを横に並べて
上から1地名1人名ずつ拾う
588名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:24:27.08
>>585
手順が多くなるならvbaでやります。
vbaが使えない環境というわけではなく、
excelの自分が知らない機能(解析とか統計とか)でサクッとできたらいいなと思って質問させてもらったので
589名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:27:10.44
>>587
地名ごとの人数が一定じゃないので、
そのやり方だと、最後の方が数が多い地名の人だらけになってしまう
590名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:28:41.66
普通に考えれば、要素数の多いものをまず等間隔に配して
その次に要素数の多いものを等間隔に挿入していくイメージか?
関数や手動操作では無理じゃねーかな
591名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:33:44.22
>>583
全体数分の格納エリアを準備して
多い地域順に均等割り当てで場所取りをしていくイメージだね

VBAじゃないと難しい感じだなぁ

VBAを使わないなら、関数で席取りさせる行No.を出して、
その列をソートする感じかな?
592名無しさん@そうだ選挙にいこう:2014/03/29(土) 17:45:02.33
マンボウのエクセルじゃないのにエクセルと同じで自分のエクセルで作ったものが使えるんだが
593585:2014/03/29(土) 18:23:35.19
>>588
VBA無しで考えてみたけど出来そうな気がしてきた
まず前提条件として、一地点のデータ数は絶対に全体のデータ数の二分の一を越えないことが必要
これは「一番数が多い地点のデータ数が全体の半分を超えない」と言い換えても良い
これを満たした上でデータ数が多い地点順に並び替える
そしたら作業列を用意して、
先頭行から全体の半分まで1から順に番号を振る
例えば10件なら1〜5を振る、11件なら1〜6まで降る
で、残りの行にも1から順に番号を振る
ここまでやったらあとは作業列をソートすればOK
多分これでいける
594名無しさん@そうだ選挙にいこう:2014/03/29(土) 19:41:04.49
595名無しさん@そうだ選挙にいこう:2014/03/29(土) 20:16:13.07
>>581
http://www.dotup.org/uploda/www.dotup.org4963719.xlsx.html
難しい。結構行けると思ったけどダメだった。多分関数では限界っぽい

VBAだと
・例として東京が3つ、大阪が2つとする
・枠というかメモリを用意する。1000000ぐらいで十分。
・各地名に通し番号をつける。これはなくてもいいかもしれない。東京に1、大阪に2
・一番多い種類のものを均等に配置。東京を000000,333333、666666
・通し番号を10000ぐらいで割ってそれぞれに足す。333333.00001、666666.00001、999999.00001。これにより重複を排除することが可能
・次に大阪も同じようにする。0.00002、500000.00002
・ランク付け
596名無しさん@そうだ選挙にいこう:2014/03/30(日) 13:58:55.17
【1 OSの種類         .】 Mac
【2 Excelのバージョン   】 Excel2011
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 可

A列 B列
aaa あ、い、う
bbb か、き


A列 B列
aaa あ
aaa い
aaa う
bbb か
bbb き

にするにはどうすればいいですか?
597名無しさん@そうだ選挙にいこう:2014/03/30(日) 14:55:47.91
vbaで
598名無しさん@そうだ選挙にいこう:2014/03/30(日) 15:10:12.09
>>596
文字列検索で「、」がヒットしなくなるまで
一番左側の「、」よりも右側を
下側に挿入した行のセルに入力する
その時、ヒットした「、」は削除
入力されたセルに対して文字列検索
入力されたセルでヒットしなかったら
一つ下側のセルを検索する
599名無しさん@そうだ選挙にいこう:2014/03/30(日) 19:51:09.13
Excel2013って使いやすい?
600名無しさん@そうだ選挙にいこう:2014/03/30(日) 20:39:52.53
いや べつに
601名無しさん@そうだ選挙にいこう:2014/03/30(日) 21:31:34.87
2010は当分使えそう
602名無しさん@そうだ選挙にいこう:2014/03/30(日) 21:56:14.58
使いやすかろうが使いにくかろうが 最新バージョン使うのが当たり前なんで
603567:2014/03/30(日) 23:00:27.86
>>594
これはこは、、わざわざありがとうございます。
MATCH関数でできるのですね。自分はまだ使った事がな関数なのでじっくり勉強します
本当にありがとうございました。
604名無しさん@そうだ選挙にいこう:2014/03/30(日) 23:04:55.32
>>602
かわいそう
605名無しさん@そうだ選挙にいこう:2014/03/30(日) 23:08:34.35
>>604
そんなこというとイカリ出すから放置でお願いします。。。
606名無しさん@そうだ選挙にいこう:2014/03/30(日) 23:23:52.46
>>602
俺も最新の Excel Online 使ってるよ、仲間だね^^
607名無しさん@そうだ選挙にいこう:2014/03/30(日) 23:27:33.42
2010から2013にするとどう使いにくいの?
608名無しさん@そうだ選挙にいこう:2014/03/30(日) 23:30:28.16
>>607
試用版があるからダウンロードしてインストールしてみたら?
使いにくくないかもしれないよ
609名無しさん@そうだ選挙にいこう:2014/03/30(日) 23:54:58.98
デフォ設定でいじってみた
・シートが最初から1つ
・全体的にフェードイン・フェードアウトがかかるように。
変化が目に見えてチェックするときは楽かも?事務作業やる身としては最悪。
・ログインしてクラウド上のファイルを触れるっぽいが、skydriveとか使ってない。googledriveにしてくれ
610名無しさん@そうだ選挙にいこう:2014/03/30(日) 23:57:15.18
・「リボンの表示オプション」がリボンにあって笑った。
他にもよくわからない機能てんこ盛りで、初心者は大変だろうなぁと思イました。
611名無しさん@そうだ選挙にいこう:2014/03/31(月) 00:17:38.57
シートなんてショートカットキーでいくらでも作れるから最初は一つでもよかろう
ってことかもな
シートは作るより消すほうが手間がかかるし
612名無しさん@そうだ選挙にいこう:2014/03/31(月) 00:51:43.62
作る手間と消す手間、どっちも大差ないだろ
613名無しさん@そうだ選挙にいこう:2014/03/31(月) 00:57:08.94
そういえば、ユーザー設定ツールバーでアイコンを横方向に並べることって、
GUI操作だけでできる?
エクスポート→xml編集→インポートとか面倒なんだけど
614名無しさん@そうだ選挙にいこう:2014/03/31(月) 01:55:37.02
>>612
でも消す方は対象を選択しないとできないからな
その分プロセスが増える
言う通り、大した違いじゃないけどな
615名無しさん@そうだ選挙にいこう:2014/03/31(月) 01:59:18.09
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 できれば否

仮にA列に出身地、B列に年齢が入っているとして
A列で重複したものの中でさらにB列でも重複したらC列に○を表示したい
のですが、うまくいきません。どういう式にすればいいでしょうか
よろしくお願いします。
AとBで完全にかぶるものを抽出したいのですが
今はAとBそれぞれで同じものがあると○が表示されてしまう状態です
616名無しさん@そうだ選挙にいこう:2014/03/31(月) 03:27:46.79
>>615
=IF(AND(COUNTIF(A:A,A1)>1, COUNTIF(B:B,B1)>1),"○","")
617名無しさん@そうだ選挙にいこう:2014/03/31(月) 08:18:12.50
>>609, >>611
てか、シートの個数変えられるだろ。
それすら面倒とか言うなよ。
618名無しさん@そうだ選挙にいこう:2014/03/31(月) 08:47:23.01
>>617
会社だと別の席で作業することとかあってだな
やっぱりデフォ設定ってなんだかんだで大事なんだなって思えてきた最近
619名無しさん@そうだ選挙にいこう:2014/03/31(月) 12:50:09.82
そんなにいろんな席で頻繁にexcelファイルを新規作成しないといけないのか
システム部門に何とかしてもらったら?
620名無しさん@そうだ選挙にいこう:2014/03/31(月) 12:51:48.86
>>618
毎日違う席で仕事してるの?
もしくは毎日 Excel インストールし直してるとか?
621名無しさん@そうだ選挙にいこう:2014/03/31(月) 12:59:17.69
自分の机が決まってなくて、毎日早い者勝ちで好きな所に座るシステムの会社が最近あちこちにあるのは事実
漫画喫茶のPCみたいに設定が毎回リセットされるとこもあるし、ログインすると個人設定を鯖から呼び出してくれるとこもある
622名無しさん@そうだ選挙にいこう:2014/03/31(月) 14:22:26.96
知人から聞かれたのですがわからなかったので質問させてください。
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

http://www.rupan.net/uploader/download/1396242132.gif
メーター値の前回計測分との差分をF列に表示させたいのですが、
D8のように時折文字列が入ります。
画像では =IF(ISERROR(D7-D6),"",D7-D6) としましたが、当然F9も空欄になってしまいます。

前回計測した数値を参照したD9-D7の25をF9に入れる式を作ることは可能でしょうか?
623名無しさん@そうだ選挙にいこう:2014/03/31(月) 14:42:13.23
>>622
=if(d7="土曜休","",d7-d6)じゃだめなん?
624622:2014/03/31(月) 14:52:07.79
>>623
F8が空欄になるのでF9がエラーになってしまうんですよね。
土曜休が入る場合、前回計測した日の数値を参照することは可能かどうか質問させてもらいました。
625名無しさん@そうだ選挙にいこう:2014/03/31(月) 15:14:34.12
>>624
=IF(D6="土曜休","",IF(D5="土曜休",D4-D6,D5-D6))ってつなげたらだめなん?
626名無しさん@そうだ選挙にいこう:2014/03/31(月) 17:07:48.97
if(d7=土曜, d8-d6, d8-d7)
こういう話ではなくて?
627名無しさん@そうだ選挙にいこう:2014/03/31(月) 17:10:42.38
それだと土曜休の次の日がエラーんなるってこったろ
628名無しさん@そうだ選挙にいこう:2014/03/31(月) 17:11:22.05
リロってなかったすまそ
629名無しさん@そうだ選挙にいこう:2014/03/31(月) 17:12:47.73
>>626
かしこいな!
630名無しさん@そうだ選挙にいこう:2014/03/31(月) 19:12:30.97
>>619>>620
複数の事務所で仕事することがたまによくある。
小売業で基本本社。しかし新規立ち上げの時、また事務員さんがお休みの時は内勤のヘルプに入ることがあるのよ。
あんまり設定を好き勝手変えて使いにくい思いをさせるわけにもいかんし、可能な限りデフォで色々なソフトを使うことになっている。
まぁ、レアケースだろうから気にするな。
631名無しさん@そうだ選挙にいこう:2014/03/31(月) 20:58:27.95
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

以下の様な関数を入力します。
=IF(○○=5, 1 , "" )

この関数だと、条件の結果が偽だった場合は、""を表示、つまりセルに何も入力しないようになります。
""としておかないと、条件の結果が偽だった場合いちいちすべてのセルに「FALSE」と出て鬱陶しいので、そうしています。

ところが、この""を入力されたセルはなぜか、空白セルではなく、何かしらの数値データが入ってるようなのです。
この""のセルをif文でやってみると、少なくとも、0ではなく、0よりも大きい数字であるようなのです。
これが謎で、困っています。

なんとか、0扱い、もしくは空白セル扱いにして欲しいです。
if文の結果が偽だった時、空白セルで、かつ中身は0扱いにするにはどうしたらいいでしょうか?
632名無しさん@そうだ選挙にいこう:2014/03/31(月) 21:06:50.57
条件は固定? 1に意味はあるのか?
何を調べたいか分からないけど
=○○=5
でtrue,false返すのじゃダメなのか
633名無しさん@そうだ選挙にいこう:2014/03/31(月) 21:16:13.91
0にしといて0は表示しない書式にすればいいじゃん
634名無しさん@そうだ選挙にいこう:2014/04/01(火) 00:35:24.38
>>631
http://support.microsoft.com/kb/416983/ja
数値と文字の比較
記号や空白を含む全ての文字は数値よりも大きいと判断されます。

仕様です。
""は空白セルではなく、文字列です。数値ではありません。

>空白セルで、
は無理です
>中身は0扱いにするにはどうしたらいいでしょうか?
=IF(○○=5, 1 , (""&0)*1)などにすればいけますが、ッ解決策にはなりません。

これを使用している数式を変更してください。
635名無しさん@そうだ選挙にいこう:2014/04/01(火) 12:04:03.87
http://www.nicovideo.jp/watch/sm23207869
http://www.xvideos.com/video7591103/positive_hame_dick_cunt_dick_cunt_dick_cunt_dick_cunt_
http://youtu.be/2FvsBTNwUaY
ちんこまんこ   /⌒\  /⌒\  ちんこまんこ
ちんこまんこ♪((    ; 三    ,,))ちんこまんこ♪
\  (σ) /  ヽ   (  /    ミ  \ (σ)   /
   / 人\    キ   .メ   ./    / 人\
 / /  \\   乂      ノ   / /  \\
(  (*^○^* ) )   (*^○^*)  (((  ( *^○^*) )
 \ \  //)))    )   (⌒)))  \ \  //
   )  Y (      ((__)⌒ ̄   ((()  Y (
  (__Y http://i.imgur.com/3UUUdIg.png Y_)
636名無しさん@そうだ選挙にいこう:2014/04/02(水) 03:09:49.72
>>616
ありがとうございます
ただやはり同じ結果にになりました。ちなみに
=IF(COUNTIF(A:A,A2)>1,IF(COUNTIF(B:B,B2)>1,"○",""),"")
でやってみていたのですが、両方一致で抽出できません

東京 46 ○
大阪 46
東京 22
福岡 22
東京 46 ○

となればいいのですが、‘東京 22’にも○が付いてしまうんですよね
637名無しさん@そうだ選挙にいこう:2014/04/02(水) 06:27:30.99
>>636
作業列を作ってもいいなら
D列:=A1&B1
C列:=IF(COUNTIF(D:D,D1)>1,"○","")
で出来るかと
638名無しさん@そうだ選挙にいこう:2014/04/02(水) 08:04:39.67
>>636
=IF(SUMPRODUCT((A:A&B:B=A1&B1)*1)>1,"○","")
多分かなり重いので>>637の方がいい
639名無しさん@そうだ選挙にいこう:2014/04/02(水) 14:44:20.55
質問内容がスレチならすみません

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

行編集した直後だけ、ローマ字変換がおかしくなります
@excelを立ち上げた後、ローマ字変換でセルA1に「さ」と入力
A2行目を行選択して行挿入
BセルA2に「さ」と入力しようとすると「sあ」となってしまう

再入力すれば普通に「さ」となりますが、行編集する機会が多いとウザくてしかたありません
この現象を回避する方法はあるのでしょうか?
640名無しさん@そうだ選挙にいこう:2014/04/02(水) 15:03:48.20
もう1つお願いします

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

小数点以下の桁数が勝手にリセットされます
@excelを立ち上げた後、セルA1-A2の表示形式を「数値 小数点以下2桁」に変更します
AセルA1に「3.33」入力
BセルA2に「=A1^2」と入力(計算結果「11.09」が表示される)
CF2キーでセルA2を再編集し、計算式を変えずにそのままenter
D計算結果「11.0889」が表示される(勝手に小数点以下4桁になってしまう)

この手順で小数点以下の桁数表示が変わらないようにする方法はありますか?
関数やユーザー定義を使えば桁数固定にはできるのですが、
編集しているファイルサイズが100MB超えるほど大きいため、
あまり重くしたくありませんのでこの手順に拘りたいです

連投すみませんが宜しくお願いします
641名無しさん@そうだ選挙にいこう:2014/04/02(水) 16:49:00.94
>>640
計算結果によって書式が勝手に変更されて桁数が増えるのは昔のバージョンからあるお節介機能
書式を

[$-411]0.00_
(アンダーバーの次に半角スペース1個)

にすれば少数以下2桁のまま桁数が勝手に増えるのを防ぐことができるけど、もし可能なら
先に数式を入れてからあとで書式を設定する癖を付けておいた方がいいかも
642名無しさん@そうだ選挙にいこう:2014/04/02(水) 17:55:43.36
レスありがとうございます

計算式そのものを変更することが多いので、編集の仕方を工夫した方が良さそうですね…
643名無しさん@そうだ選挙にいこう:2014/04/02(水) 19:02:09.49
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

例えば0から9、aからzのように範囲を指定して
条件とする事は出来ないのでしょうか?
=COUNTIF(A1:A9,aからz)
のような事をやりたいのです

現在は
=SUM(COUNTIF(A1:A9,{"a","b","c"...}))
のようにやっていますが
毎回範囲を一つ一つ指定するのは面倒です
644名無しさん@そうだ選挙にいこう:2014/04/02(水) 20:02:59.75
>>643
範囲指定はできない
a-zを数えるには
=COUNTIF(A1:A9,">=a")+COUNTIF(A1:A9,"<=z")-COUNTA(A1:A9)
645名無しさん@そうだ選挙にいこう:2014/04/02(水) 20:19:04.72
>>639
キーボードかなんかの接触不良かなにかか、重いか、ファイルがぶっ壊れてるか
新規ファイルでもダメなら再インストールがよろしい
>>644
数値だと
COUNTIF(A1:A9,"<=z")
この条件に引っかかって"a"、"a"、"a"、"5"、だと2が買える
646名無しさん@そうだ選挙にいこう:2014/04/02(水) 20:52:22.37
Function COUNTC(r As Range, a, z)
  For Each c In r
    if (a <= c.Value) And (c.Value <= z) Then n = n + 1
  Next
  COUNTC = n
End Function
647名無しさん@そうだ選挙にいこう:2014/04/02(水) 21:04:03.32
>>639
PC 買い替え
無理なら OS 再インストール
648名無しさん@そうだ選挙にいこう:2014/04/02(水) 21:09:12.64
>>643
countifに配列が使えたのか、知らなかった。
お返しに正規表現のcountif、その名もunko関数を作ってやったぞ。
=unko(A1:B5,"[a-z]")
みたいな感じで使える。
=unko(A1:B5,"[a-z]",true)
とすると大文字小文字の区別がなくなる。i修飾子や[A-Za-z]みたいなもん。

Function unko(x As Range, patternX As String, Optional ignorecaseX As Boolean = False)
Dim RE, strPattern As String, msg As String, reMatch
Set RE = CreateObject("VBScript.RegExp")

With RE
.Pattern = patternX
.ignorecase = ignorecaseX
.Global = True
End With

For Each tinko In x
Set reMatch = RE.Execute(tinko.Value)
If RE.Test(tinko.Value) Then
w = w + 1
End If
Next tinko

unko = w
End Function
649名無しさん@そうだ選挙にいこう:2014/04/02(水) 21:10:03.80
よく見たらXPか
あと6日で期限切れるんだからさっさと買い替え
650名無しさん@そうだ選挙にいこう:2014/04/02(水) 22:17:54.85
>>648
せめて、option explicit使おう
あとオブジェクトって、使い終わったら、set nothingするもんだと思ってたが、やらなくてもいいの?
651名無しさん@そうだ選挙にいこう:2014/04/02(水) 22:28:03.67
>>637>>638
ありがとうございました
652名無しさん@そうだ選挙にいこう:2014/04/02(水) 22:55:24.35
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

入力中にタイプミスをしたら一部文字の書体が変わってしまった。
→Viと入力したとき誤って何かのキーに触れたらiがイタリック体になった。
ミス操作は分からないけど、これが可能ならどうのような操作をすれば
そのような一部文字のフォントのスタイルが変えられるでしょうか。
653名無しさん@そうだ選挙にいこう:2014/04/02(水) 23:02:43.29
>>650
こんな短いコードで宣言しても仕方ないと思う
メモリの開放は巨大なオブジェクトならやったほうがいいと思うけど、小さいのでどうでもいい
ついでにvbaではループ内でなら宣言・インスタンス化は何度してもいいっぽい

>>652
セル内容を編集中にドラッグしてフォントの変更
654名無しさん@そうだ選挙にいこう:2014/04/02(水) 23:17:29.24
>>652
当方Windows7pro、Excel2010なので試してみました。
セル中の文字列を範囲指定したうえで、[Ctrl]+[I]で選択した文字列だけがイタリックになりました。
心当たり、ありますか?

単にセルを選んだ状態(普通にセルをクリックしただけ)で[Ctrl]+[I]なら
セルに含まれる文字列全てがイタリックになりました。
[Ctrl]+[U]なら下線です。[Ctrl]+[B]ならボールド(太字)です。
655名無しさん@そうだ選挙にいこう:2014/04/02(水) 23:23:16.87
>>652
Cntr+V で貼り付けた時、Cntr 離す前に I キーを押したんだろうな。
意図してやるなら >>653 が書いてる通り文字列を選択して Cntr+I でイタリック (斜体)、ついでに B でボールド (太字) 、U で下線
トグルになってるから、間違えた時はもう一度同じ操作すればいい
656名無しさん@そうだ選挙にいこう:2014/04/03(木) 01:59:37.38
ボールドなんて滅多に使わない
デフォルトのフォントを明朝にして、強調したい部分はゴシックにしてるわ
この方がずっと見栄えがいい
657名無しさん@そうだ選挙にいこう:2014/04/03(木) 02:56:58.83
>>652
文字選択や貼り付けをしてなければ、

Shift押しながらvで大文字のVを入力
→Shift離したつもりでCtrlが押されてる状態でiを入力
(ここでこれ以降がイタリックになる)
→「あれ?iが出てこねえ」再入力
→iがイタリックで出てくる

これだと思う
658名無しさん@そうだ選挙にいこう:2014/04/03(木) 05:15:48.96
>>653-657
おそらく>>657だったと思います
ありがとうございました
659名無しさん@そうだ選挙にいこう:2014/04/03(木) 07:31:47.61
こういう質問はまじめに答えてくれるのか
難しいスレだ
660名無しさん@そうだ選挙にいこう:2014/04/03(木) 08:46:49.28
>>645 >>647
皆さんは発生しないということですよね?
自分の環境だとファイル新規作成でも発生しますので、OS変えたら再確認してみます
ありがとうございました
661名無しさん@そうだ選挙にいこう:2014/04/03(木) 08:55:08.37
>>660
行編集って、行を選択して入力することを言ってるの?
Enterで右に移動する為なら、tab使ったら?
662名無しさん@そうだ選挙にいこう:2014/04/03(木) 10:14:36.52
行選択(行番号をクリック)して「挿入」とか「コピーしたセルを挿入」等をすると
この現象が発生します
全角で1文字目を入力した時点でENTERが押された状態になるらしく、
全角で「s」と入力すると普段は2回ENTER押さないとセルに入力されないのに
1回のENTERで入力が完了します
「さ」と入力しようとして「sあ」となってしまうのもこのためかと…
663名無しさん@そうだ選挙にいこう:2014/04/03(木) 11:08:24.37
再現しない
win7/office2010/atok2014
664名無しさん@そうだ選挙にいこう:2014/04/03(木) 11:25:15.16
遅い機械じゃないと再現しないです
665名無しさん@そうだ選挙にいこう:2014/04/03(木) 12:56:37.33
>>660
Excel 2007 + Windows XP + Core2 のしょぼ PC で同様の現象がでていたから、PC 買い替えと書いた。
ちゃんと調べればいいのかもしれないけど、買い替えた方が早いと思うよ。
666名無しさん@そうだ選挙にいこう:2014/04/03(木) 13:06:16.07
CPUはcore2Duo E6850 3.00GHzです
以前はexcel2003を使用していましたが
その頃から「sあ」現象が出てました
667名無しさん@そうだ選挙にいこう:2014/04/03(木) 13:20:11.92
俺カナ入力だから再現できんわ
668名無しさん@そうだ選挙にいこう:2014/04/03(木) 20:31:27.34
2003から2013に最近切り替え、戸惑いながら使っていますが、気になる点が一つ。
セルのどこでもいいのですが、右クリックしたときに出てくるメニューのフォントが小さくて困っています。

ノート型で作業しているので、デスクトップ向けのモニタのようにモニタが大きくありません。
そのため、右クリックメニューのフォントサイズが小さくて目が疲れるのです。
このフォントを大きくさせるにはどこをいじればいいのでしょうか?
669名無しさん@そうだ選挙にいこう:2014/04/03(木) 22:11:24.78
>>667
かなでも出るよ
て言うか、俺もかなだからかなしか知らん
ちなみにかな入力中でも最初の文字は対応する英字が入る
670名無しさん@そうだ選挙にいこう:2014/04/03(木) 22:40:36.11
>>666
IMEリセットしてみ
671名無しさん@そうだ選挙にいこう:2014/04/04(金) 17:54:26.65
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
つい先ほどまで数式が正しい結果を出せていたのに
突然思いもしない計算結果がでるようになりました。

D1セルに「=A1+B1-C1」と入力されていて結果も正しいのですが
これをオートフィル機能でD2セルへコピーしたところ、
数式は想定通り「=A2+B2+C2」となっているのにもかかわらず
計算結果があいません。

ファイルを開きなおしたり、新規作成のBookで試しても同じです。
このファイルは依然から使っているファイルですがこのようなことは初めてです。
なにが原因なのでしょうか?なにか誤ったボタンを押したのでしょうか?
672名無しさん@そうだ選挙にいこう:2014/04/04(金) 18:02:19.16
>>671
手動計算になっているのでは
673名無しさん@そうだ選挙にいこう:2014/04/04(金) 19:59:28.91
>>671
本当に =A2+B2+C2 になったの?
うちで試したら俺の予想通り =A2+B2-C2 になったけど
674名無しさん@そうだ選挙にいこう:2014/04/04(金) 20:44:45.94
>>671
表示形式が文字列になってるとか?
675名無しさん@そうだ選挙にいこう:2014/04/04(金) 22:12:43.90
>>672-674
お返事どうもありがとうございます。
そしてすいません、+C2ではなく、-C2でした。
表示形式は標準のままですが、手動計算について調べてみます。
676名無しさん@そうだ選挙にいこう:2014/04/04(金) 22:57:11.48
>>675
再現しないのでbookうp
677名無しさん@そうだ選挙にいこう:2014/04/05(土) 01:21:46.00
>>671
if文に使っているなら小数誤差でぐぐってみてはいかがか
678名無しさん@そうだ選挙にいこう:2014/04/05(土) 02:14:15.64
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1〜A10セルにそれぞれ適当な文字列が入っているとして、
B1セルの中の文字列が一部でも含まれていたら、C1にA1〜A10のうち何個のセルに含まれていたか個数を出す

↑のような関数はあるでしょうか?
COUNTIFだと完全一致しか拾ってくれなくて困ってます。
679名無しさん@そうだ選挙にいこう:2014/04/05(土) 02:50:32.23
「一部でも含まれて」だと難しいね
少ない文字数ならワイルドカードと条件分岐を駆使したら出来るけど

B1の内容が含まれるだけでいいなら
if(countif(a1:a10,"*"&b1&"*")>0, 〜
って感じだな

一部ってなると、さらにRight、left、midとワイルドカードを駆使して頑張るかーだなー
680名無しさん@そうだ選挙にいこう:2014/04/05(土) 09:05:39.98
Vista エクセル2007使用

本年度と昨年度との比率を%で表示したい
昨年度÷本年度で、計算

本年度 昨年度 ともに数字が入力されている → 問題なし
本年度 昨年度 ともに数字が0 →文字化け表示

・本年度 昨年度 ともに数字が0
・本年度に数字が入ってるが、昨年度は0
・本年度は0だが、昨年度に数字が入ってる
3パターンのいずれでも文字化け表示されない方法を教えてください
681名無しさん@そうだ選挙にいこう:2014/04/05(土) 09:13:39.97
>>680
以下の二点を示してくれ

・文字化けとは具体的に何が表示されるのか
・それがどう表示されて欲しいか
682名無しさん@そうだ選挙にいこう:2014/04/05(土) 09:17:58.55
>>678
findとsumでがんがれ
683名無しさん@そうだ選挙にいこう:2014/04/05(土) 09:19:25.81
>>680
=IF(B1>0,A1/B1," ")
684名無しさん@そうだ選挙にいこう:2014/04/05(土) 10:35:51.45
>>682
× がんがれ
○ がんばれ
◎ 頑張れ

変に日本語使うな
685名無しさん@そうだ選挙にいこう:2014/04/05(土) 11:40:01.52
>>684
× 変に日本語使うな
◎ 変な日本語使うな
686684:2014/04/05(土) 11:57:10.44
××× >>685の存在

真似するなサル
687名無しさん@そうだ選挙にいこう:2014/04/05(土) 12:02:57.54
>>686
真似じゃねーよ、揶揄してるだけ
て言うか、ネタじゃないのかよ (w
688名無しさん@そうだ選挙にいこう:2014/04/05(土) 12:54:33.76
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

いくつかあるセルのうち
1000 2000 5000 12000といった感じに
1000桁単位の数字を入力しなければならないセルが1つある。

もしそのセルに1000桁以外の数字を誤入力した場合、そのセルか
あるいは別のセルが色表示の変更でも行い、誤入力したことをすぐ気付けるようにしたい。
689名無しさん@そうだ選挙にいこう:2014/04/05(土) 13:08:24.52
>>688
mod使って1000で割った余りがあれば
エラーにするんでどうでしょう。

>>680
質問と関係ないけど
昨年度÷本年度 という順序も珍しいね
690名無しさん@そうだ選挙にいこう:2014/04/05(土) 13:14:52.76
>>689
解決しました
thx
691名無しさん@そうだ選挙にいこう:2014/04/05(土) 13:26:46.55
>>678
こうしてみた
C1: =IF(CountA(B1),COUNTA(A1:A10),"")
692691:2014/04/05(土) 13:28:25.09
>>678
ごめん、問題を勘違いしてた。

なしなし
693名無しさん@そうだ選挙にいこう:2014/04/05(土) 13:37:44.71
>>679
そう言えば2007以降ならcountifsが使えるから、
これで解決じゃね?
694691:2014/04/05(土) 13:45:38.47
>>678

>>679 のを利用して文字列だからcountif をcountifaにして
C1: =countifA(a1:a10,"*"&b1&"*")
だけでいいんじゃないの?
695名無しさん@そうだ選挙にいこう:2014/04/05(土) 15:38:01.75
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可(できるなら使いたくない)

結果, 条件1, 条件2
A, 2013, 10
B, 2013, 10
C, 2014, 01
...

のようなデータがあって、条件1、条件2を満たすような結果列を取得したいと考えています。
この時結果列が複数ある場合は辞書的順に一番大きい要素を取得する。

ということはエクセルの関数を用いて可能でしょうか?

今回の例だとどこかのセルに2013と10を入力させ、
その結果であるBをどこかのセルに書き出したいと考えています。

VBAを使えば書けるのですが、メンテナンスが難しくなるため、極力エクセル関数のみで行いたいと考えています。

よろしくお願いします。
696名無しさん@そうだ選挙にいこう:2014/04/05(土) 16:53:53.07
>>695
条件1と条件2を満たすとは、それぞれがイコールだったらということ?
結果列が複数ある場合の大きい方とは、この例でいえば
結果の列のA、Bと文字で入っているが、ここに数値が入り、その数値の
最も大きい列のセルの値を選ぶということ?、
697696:2014/04/05(土) 16:55:27.96
>>695
辞書順と書いてあるから、文字ということでしたか
A<Bということですね。
698696:2014/04/05(土) 17:03:17.79
>>695
結果列が複数と書いてあるけど
結果列は一つで、条件を満たす値(要素?)が複数ということ
じゃなくていいの?
699695:2014/04/05(土) 17:43:54.87
>>696
結果列という表現が悪かった気がします。
結果列というのは取得した値を出力する場所ではなく、
条件1 かつ 条件2
を満たした時に取得したい値のことです。

元となるテーブルには
・条件を満たす行が複数存在する可能性がある
・複数存在した場合には、結果列の中で辞書的に一番大きい値と取得する
という感じです。
700名無しさん@そうだ選挙にいこう:2014/04/05(土) 18:31:25.94
複数ヒットするときに1個しか抽出しないとか;ほんとにそんなのでいいのか?
普通に条件1と2でフィルタリングしろよ;
701名無しさん@そうだ選挙にいこう:2014/04/05(土) 23:19:43.73
どこで聞いたらいいのかわからなくて、ここで・・・

たったいまoffice2003から2013に切り替えたんですが
今後は保存形式どっちにするのがいいんでしょうか

2003のサポートも終わり、もう古いバージョンに気を遣う必要も無くなるわけで
やっぱりxmlx?で保存していった方がいいんでしょうか
その場合、今まで作ったファイルも新しい形式に書き換えていった方がいいのかな?
マクロ含め、基本的には崩れたり動かなくなったりはしないんですよね?
702名無しさん@そうだ選挙にいこう:2014/04/05(土) 23:42:09.77
別に無理に変える必要はない
しかし拡張子xlsのまま、2013の関数を使って保存しようとすると
「旧バージョンで使えないよ〜」って警告が出るのでよく更新するファイルはxmlxに変えておいた方がいい
703名無しさん@そうだ選挙にいこう:2014/04/06(日) 00:08:26.19
704名無しさん@そうだ選挙にいこう:2014/04/06(日) 00:29:50.14
xlsxだよ
705名無しさん@そうだ選挙にいこう:2014/04/06(日) 08:49:32.15
あぁそれだ
どうもエクセルの拡張子は昔から覚えにくい文字列じゃ
706名無しさん@そうだ選挙にいこう:2014/04/06(日) 13:09:19.11
>>703
へ〜、こんなのあるんだ。知らんかった。
これ使うとできるよね。
707名無しさん@そうだ選挙にいこう:2014/04/07(月) 00:47:33.23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

すみません。質問なんですが、
Excelを起動してセルに数字を入力すると最初のセルで毎回

「英語(米国)で、このオートコレクトリストを使用することができません。
この機能は現在インストールされていません。インストールしますか?」

と出てきます。「いいえ(N)」を選択するとその後は問題なく操作出来るのですが、
Excelを立ち上げる度に毎回毎回出てくるのでどうにかしたいのですが・・・
オートコレクトリストのオプションで、チェックボックスから全てチェックを外したりはしているのですが・・・

どなたか解決方法をご存知の方がいらっしゃいましたら、なにとぞよろしくおねがいします。
708名無しさん@そうだ選挙にいこう:2014/04/07(月) 00:51:42.78
OSの設定がおかしくなってそう
コンパネから色々いじってみては
709名無しさん@そうだ選挙にいこう:2014/04/07(月) 01:13:43.17
>>707
明日で期限切れだぞ
まずはWindowsとOfficeを買い替えろ
質問はそれからだ
710名無しさん@そうだ選挙にいこう:2014/04/07(月) 03:03:53.66
あーん
いけずぅ
711名無しさん@そうだ選挙にいこう:2014/04/07(月) 05:57:09.56
インストールしちまえばいいんじゃなかろうか
712名無しさん@そうだ選挙にいこう:2014/04/07(月) 09:22:08.12
win Excel2000
・右側の余白が広く出来ない
数字上は左右対称のはずなのに右が広い。
中央表示にしても見美の隙間が異常にある。

・アンダーバーで文が終われない
セル選択したじょうたいで「あああ_______」
となっていても他のセルに移動した瞬間アンダーバーが消える。
アンダーバーの後ろにスペース以外の文字があれば消えない。

対策はありますか?
さっぱり理由がわからない。
713名無しさん@そうだ選挙にいこう:2014/04/07(月) 09:23:01.77
見美→右
714名無しさん@そうだ選挙にいこう:2014/04/07(月) 11:04:33.55
アンダーバーは文字列の最初に’を入れるとよくなかったっけ?
715名無しさん@そうだ選挙にいこう:2014/04/07(月) 11:09:21.55
>>714
だめでした・・・
716名無しさん@そうだ選挙にいこう:2014/04/07(月) 11:16:27.51
アンダーバーは最後の文字を白にして対応しました。
相変わらず余白は点線の枠が随分手前から右に移動できない・・・
717名無しさん@そうだ選挙にいこう:2014/04/07(月) 13:50:15.70
A行に名前、B行に誕生日が入っているデータがあります。
誕生日がランダムになっているのでデータを整理したいのですが
特定の文字列を指定してその文字列が含まれる列全てを抽出する方法はありますでしょうか?

↓のような書式で書かれているので
○○年01月01日

"01月"を検索してその文字列のある列ごと抽出して他のシートに移せれば嬉しいです。
よろしくお願いします
718名無しさん@そうだ選挙にいこう:2014/04/07(月) 14:29:12.30
>>717
まず、csv形式で保存する
次に秀丸・サクラエディタなどのgrepが使えるフリーソフトでcsvファイルを開く
grepで目的の文字列を指定すると、その文字列を含む行だけが抽出されるので、それを新たにcsvファイルとして保存する
csvファイルをエクセルで読み込めば完了
719717:2014/04/07(月) 14:39:05.76
>>718
出来ました!
的確な助言ありがとうございます!
720名無しさん@そうだ選挙にいこう:2014/04/07(月) 16:43:47.25
B列でソートとかオートフィルタとか
Excelだけで簡単にできるのに、なんで外部ソフト使うかなあ
721tokior2:2014/04/07(月) 17:28:32.36
EXCEL VBA の『Rows()/行を選択』の記述方法で ()内を数字ではなく、数式の記述(例:RowPos+1の行を選択)に
したいときどう記述すればいいのかわかる方いらっしゃったら申しわけございませんが教えてください
722名無しさん@そうだ選挙にいこう:2014/04/07(月) 18:28:08.89
>>721
()の中に数式書けば良いんでないの?
723名無しさん@そうだ選挙にいこう:2014/04/07(月) 22:44:39.12
>>720
ソートするにしてもB列そのままで出来る?
MONTH関数で月を数値で抜き出さなければならないのでは
724名無しさん@そうだ選挙にいこう:2014/04/07(月) 23:04:39.79
>>723

>>720じゃないけど
対象月の選択だと関数使わないで、
フィルターで簡単にできるね
725名無しさん@そうだ選挙にいこう:2014/04/07(月) 23:31:08.02
YYYY/MM/DDをMM/DD/YYYYに書き換える方法はありますか?
726名無しさん@そうだ選挙にいこう:2014/04/07(月) 23:46:11.18
>>725
文字列ならMIDで切り貼り
シリアル値ならtext関数で
727名無しさん@そうだ選挙にいこう:2014/04/07(月) 23:51:01.50
>>724
うお、日付フィルタなんて会ったのか
昔からあったんかな?
728名無しさん@そうだ選挙にいこう:2014/04/08(火) 00:02:16.10
オートフィルタがフィルターになったころからあったよ
729名無しさん@そうだ選挙にいこう:2014/04/08(火) 00:08:34.70
ありがとう。知らなかったや。
730724:2014/04/08(火) 00:45:55.21
>>726
日付値(シリアル値)なら書式設定だけでいいんじゃないかな。

>>727
実は俺も知らなかった。フィルターにないのかな?と思って
見てみたら、有った
731名無しさん@そうだ選挙にいこう:2014/04/08(火) 05:09:22.31
>>723
ソートはわからんが、>>717 がやりたいことは Excel だけで楽勝かと
732名無しさん@そうだ選挙にいこう:2014/04/08(火) 09:35:23.44
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 ぐぐって初めて知りました
【4 VBAでの回答の可否】 否
現在、速効!図解 Excel 2010 総合版 Windows・Office 2010対応 (速効!図解シリーズ)
という本で練習をしている初心者ですExcelについてはページの1/3ぐらいまで進めています
自分で表を作る、セルにデータを入力できる、オートSUMが使える位のスキルです
効率的にExcelのスキルアップがしたいです。実戦で使えるようになりたいです
この本だと@本の様に例題?を自分で入力して、A本の指示の通りに進める
という手順で毎回、毎回、見本の例題を入力する手間を省きたいと考えていますが
おススメのテキストなどありますでしょうか?
将来的には何がしかの能力を証明する検定などを受けてみたいと思います
よくわかる Excel 2010 基礎 データCD-ROM付 [大型本]
富士通エフ・オー・エム (著) 、
という本はデータCDが付いているので毎回の面倒な見本の入力などが要らないのでしょうか?
733名無しさん@そうだ選挙にいこう:2014/04/08(火) 11:37:00.27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可
シートのコピーで増やしたシートを変数に格納したいのですがどう記述すればよいでしょうか?
734名無しさん@そうだ選挙にいこう:2014/04/08(火) 12:09:51.46
>>733
Worksheets("Sheet1").Copy after:=Worksheets("Sheet3")
Set NewSheet = ActiveSheet
735名無しさん@そうだ選挙にいこう:2014/04/08(火) 13:19:34.06
>>732
無い。
実戦経験を積んだほうが早い。
具体的にはここの回答が一番。

資格が欲しいならMOS用の本を買った方がいい
736名無しさん@そうだ選挙にいこう:2014/04/08(火) 13:38:06.47
>>733
VBA否なのにVBAの質問?
あとXPのサポート期限は今日までだよ
737名無しさん@そうだ選挙にいこう:2014/04/08(火) 13:39:35.83
>>735
ここの質問はレベルがバラバラだし数も少ないからなあ
豆知識は増えても試験対策には無力だと思うよ
738名無しさん@そうだ選挙にいこう:2014/04/08(火) 13:56:55.23
>>732
エフオーエムのMOS対策本買って本眺めるも良し
いきなり問題集入って解答アニメで無理矢理覚えるも良し
739名無しさん@そうだ選挙にいこう:2014/04/08(火) 14:43:19.00
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2002SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

Vlookupの仕様がよくわからなくなりました

前年度繰越 300000
a 1年分×3軒 6000
b 1年分×9軒 18000
c 1年分×7軒 14000
d 1年分×14軒 28000
決算利子 25
e 12軒 24000
決算利子 21
仮払内訳 上期分精算返金 500
仮払内訳 下期分精算返金 600
小計 109628

前年度繰越 109628
 ↑A13

としまして最後に=VLOOKUP(A13,A1:C11,3,TRUE)で検索できるようにしたのですが
A13に前年度繰越といれても出てくるのが小計の109628になってしまいます
おかしいところを教えてください
740名無しさん@そうだ選挙にいこう:2014/04/08(火) 15:19:53.82
>>739
=VLOOKUP(A13,A1:C11,2,0)

=VLOOKUP(A13,A1:C11,3,0)
741名無しさん@そうだ選挙にいこう:2014/04/08(火) 16:26:19.74
>>734
ありがとうございます!


>>736
替えたいです!
742名無しさん@そうだ選挙にいこう:2014/04/08(火) 17:12:21.62
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可
VBAで複数セレクトされているセルの一番のセルを取得したいのはどうすればよいでしょうか?

例えばA1からA6までセレクトされている状態でA1を変数に格納したい時、
または複数セレクトの一番上(A1)のセルの右どなり(B1)のセルを取得したいときなど。
応用で上記のような状態でセレクトのされている最後(A6)またはその右隣(B6)が取得できるような記述の仕方だとありがたいです。
743名無しさん@そうだ選挙にいこう:2014/04/08(火) 17:12:31.15
>>740
ありがとうございました
744名無しさん@そうだ選挙にいこう:2014/04/08(火) 17:26:14.74
ところで、vlookupであいまい検索使うってどんな場合?
745名無しさん@そうだ選挙にいこう:2014/04/08(火) 17:35:52.88
>>742
選択されている範囲が長方形ならResize(1, 1)で左上のセルが取得できる
さらにOffset(0, 1)で右隣

一番下は一手間増える
選択範囲の縦の大きさはSelection.Rows.Countだから、これをOffsetに指定する
746名無しさん@そうだ選挙にいこう:2014/04/08(火) 19:30:59.93
>>744
所得税の計算
747名無しさん@そうだ選挙にいこう:2014/04/08(火) 21:40:37.16
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 2002から変更あるかもしれません
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

無知な私に力を貸してください。

先日上司から商品に貼るシール作りたいからエクセルで作っといてと突如無茶振りをされました

シート1にこのようにhttp://www.geocities.jp/bhxcg182/202.png

打ち込まれた文字があります。

そしてシート2にhttp://www.geocities.jp/bhxcg182/2222.bmp

このように枠を作って、シート1のA1をシート2のa1に シート1のBをシート2のbへ

シート2の枠に関しては印刷したときに縦4センチ横4センチになるようにと言われました

100枚200枚ならコピーして作ろうと思ったのですが・・・なんと5000枚作れと言われました!

シート2に縦横4センチで指定した枠を作りシート1の文字を流しこむことは可能なのでしょうか?

一度に5000枚作れなくてもいいので、100枚ほどでもまとめて作ることはできないでしょうか?

VBAに関しましてはコードを打ち込むことはできませんがマクロを記録することはできます

どなたか力をお貸しください・・!
748名無しさん@そうだ選挙にいこう:2014/04/08(火) 22:07:20.44
>>747

>このページは準備中です
>
>申し訳ありませんが、このページは現在利用できなくなっています。しばらくたってからもう一度お試しください。
>ご不明な点があれば、ヘルプをご覧のうえ、お問い合わせください。

と表示されていて画像が見れませんのであてずっぽで回答
シート1とシート2を合成せずに別々にプリントしたらどうすか?
(同じ用紙を二回プリンタに通すってことです)
エクセルって画面上の見た目と実際の印刷されたものがずれてることが良くあるので
何度か試行錯誤して適切な印刷位置を見つけたらどうでしょ。
749名無しさん@そうだ選挙にいこう:2014/04/08(火) 22:08:00.54
>>747 それは大変ですね
まずは、何に印刷するのかを確認しましょう
どんなものを上司が用意してくれるのですか?
エーワンというメーカーのサイトを参考まで
https://www.a-one.co.jp/product/
A4? 大量に必要ということなのでA3?
そのうえで、印刷用のシートへの配置を考える必要があります。
プリンタは何ですか?プリンタによって余白が異なります。
続きはもうちょっとしてから書きます。
750747:2014/04/08(火) 22:51:08.01
早々にお返事いただきありがとうございます!

748様

私も今URL開いたら開けませんでした。。!

URLをコピーして直接コピーして張り付けたら飛べたのでそれでどうでしょうか?

印刷後、金型で5000枚切り抜くので、決まった位置でないといけません・・

金型で切り抜きますので、決まった位置でズレてはいけないみたいですorz

749様

印刷する材料は3M社製の裏側がシールになっている製品を使います・・!

そして、恐ろしいことにプリンタは横600(60センチ)縦50メータまでいけるプリンタです・・

私の考えでは、シート2に縦横サイズが均一の表を100個なら100個作ります(表はシート2のようなシート)

その後にシート1にあるA〜100までのセルの数値をシート2のA〜100まで入れて・・とできればいいなと思ってたんです。。

説明下手でごめんなさい><
751749:2014/04/08(火) 23:04:19.52
>>750 URLをコピペして画像はちゃんと見えてます。
それにしても、ロール状のシートに印刷できる大判プリンタですか・・・
自分も以前の職場でそういうものに地図を拡大印刷した経験はありますが・・・

エクセルは画面上に見えたまま印刷できるわけではありません。
画面上では文字が収まっているのに、印刷するとはみ出るというものです。
恐ろしいことに、印刷プレビューでさえ信用できません。
ちょうど、A4用紙に印刷することを前提にいろいろ試してたところです。
さて、どうしたものか・・・
752名無しさん@そうだ選挙にいこう:2014/04/08(火) 23:19:30.19
>>750
印刷原版の作成は素人には大変だよ
それに加え、ExcelはA4サイズでもうまく印刷するのが難しいと言われてる

金型で抜くんなら印刷ソフトも同時に発注してないの?
なんか話がちぐはぐすぎる

俺は仕事でタックシールの印刷もやってて、小ロットの時はExcelでちゃっちゃと作ることもあるんだけど、
どうがんばっても一発で完成させるのは無理だよ?
せめて2〜3枚試し刷りができればいいんだけど
753747:2014/04/08(火) 23:21:14.31
749様、早々にお返事ありがとうございますM(_ _)M

以前は部署にイラストレーターを使いこなせる人間がいて、イラレで200枠を作り

そこに1個1個エクセルからイラレへコピーペーストして20万枚を部署総出の20人で手うちで作ったそうです・・

1枚のシールに付き5回切り取り貼り付けなので20万×5回切り取り貼り付けをして昼夜作業して作ったみたいです><

そのため今回、エクセルでなんとかなるでしょ?とポンッと私に放り投げられたのですが・・

半分イジメられてる気持ちです・・・(笑

orz
754749:2014/04/08(火) 23:26:14.62
せっかく書いたのでボツにするのがもったいなく、一応アップ。
749の続き
4センチ×4センチは、切断した後の1片のサイズということですか?
それとも、印刷する枠の外形?
1片のサイズが4センチ×4センチということであれば、A4ラベル紙1枚に
5(短辺)×7(長辺)の35枚印刷することができます。
1片の紙の中に四角形(3段)を入れるわけですが、余白が必要。
余白部分をExcelの1行と1列で持たせるとして、1片分は4行×3列必要。
A4用紙を縦方向で印刷するとして、1枚分は(4×7−1)行×(3×5−1)列必要。
A1:N27の範囲に配置します。
1件目(用の四角)はA1:B3、C列と4行目は余白、右横の2件目はD1:E3・・・という具合。
2段目(6件目)はA5:B7から始まり、最後(35件目)の7段目最右端はM25:N27になります。
http://www.rupan.net/uploader/download/1396966831.png シート上の画面
http://www.rupan.net/uploader/download/1396966905.png 印刷プレビュー

で、>>750を受けてですが
そのプリンタとExcelの組み合わせで印刷精度はどれほどあるのですか?
これまで上記組み合わせでなにか印刷して利用したことがあるのですか?
通常のロール紙とラベルシートのロール紙での縦方向(用紙送り方向)の微妙な違いは大丈夫?
755名無しさん@そうだ選挙にいこう:2014/04/08(火) 23:26:25.84
>>753
データあるならワードに差し込み印刷したら?
エクセルよりはまだ画面と印字が近いよ。大きさも調整できるし。
756名無しさん@そうだ選挙にいこう:2014/04/08(火) 23:26:49.72
枠線はVBAでコピペして増やせばいいし、内容もVBAでコピペすればいい
問題は印刷時の大きさ合わせで、これが一番やっかい

まずは一度印刷してみて、縦サイズが何%、横サイズが何%、縦余白が何ミリ、横余白が何ミリずれてるか調べ、
セルの幅と高さをVBAで修正するしかない
普通は2回修正して、3回目に最終チェックするから、最低でも3枚は無駄紙が出る

たとえばセルの高さを0.2%大きくしたい時は
Rows(i).Rowheight = Rows(i).Rowheight * 1.002
みたいな感じでループで回して微調整する
757747:2014/04/08(火) 23:35:56.41
752様ありがとうございます。

イラストレーターで200枠の雛形(?)は持ち合わせているのですが

イラストレーターとエクセルはソフトがまったく違うので流しこめないと思いまして

エクセルで一からできないかと思い、未熟ながらご質問させていただきました

以前はイラレで形、頂いたエクセルデータを手作業で貼って、金型で切り抜くという作業で作っていたようです・・

なので、一からエクセルで作れたらと思い・・・イラレの話題になるとスレ違いになるかと思いまして

印刷ソフトに関しましては、以前にも上司にプログラムやソフトの専門に依頼すべきだと言ったのですが

納期の関係でそんな暇はない!と・・右も左も分からない私がどなられてしまった結果です・・><(情けないです・・
758749:2014/04/08(火) 23:56:00.56
>>747
excel 印刷精度 でぐぐってこんなのを見つけた
http://page.freett.com/comet333/018-2xls.htm とか
http://okwave.jp/qa/q2246859.html など。
枠については試行錯誤するしかないようです。それに加えて
「画面上では枠に入ったのに、印刷したら一部欠けてたorz」の件。
実際に印刷する文字はどのくらいの量なんですか?
それぞれのデータの文字の長短のばらつきは?
文字数が少ないものは大きく、文字数が多いものは小さくしていいの?

今夜はここまで、明日はシート上に並べた枠へのデータの流し込み。
まずは計算式でできる方法を書けるかな・・・
759名無しさん@そうだ選挙にいこう:2014/04/09(水) 01:38:27.96
すみません教えてください。

C1=B2-A1かC1=B1-A2
の計算式ですがどちらかの計算をするにはどういった関数ですればよいですか?
またこの計算をする場合にB2-A1の場合、A1だけB2だけにしか数字が入力がない場合はC1欄を空白にしたいです。
両方の条件が揃ったときだけ表示したいです。
下のようにしたいです。説明不足ならすみません。
どなたかご回答お願いいたします。

条件が揃うと自動入力
A B C
1 100 50
2 150

A B C
1 150 50
2 100

条件が揃わない場合空白
A B C
1 100
2

A B C
1 150
2
760名無しさん@そうだ選挙にいこう:2014/04/09(水) 02:01:30.59
>>759
=IF(AND(A1<>"",B2<>""),B2-A1,IF(AND(A2<>"",B1<>""),B1-A2,""))
761名無しさん@そうだ選挙にいこう:2014/04/09(水) 02:13:06.14
>>760
ホントにありがとうございます。できました。
もし時間があればこの式を日本語に直した場合をレスしてくれるとありがたいです。
762名無しさん@そうだ選挙にいこう:2014/04/09(水) 02:21:23.03
>>750
縦50メータワロタ
横は60cm/4cmで、15個並ぶってこと?
とりあえず作ってみた

ttp://www.dotup.org/uploda/www.dotup.org4984527.png
ttp://www.dotup.org/uploda/www.dotup.org4984532.zip
763名無しさん@そうだ選挙にいこう:2014/04/09(水) 02:23:26.81
>>761
A1B2が空白でない時C1=B2-A1、A2B1が空白でない時C1=B1-A2、それ以外C1は空白

宿題か?
764名無しさん@そうだ選挙にいこう:2014/04/09(水) 02:33:37.99
プリンタのスペックはともかく、セットする用紙のサイズがわからんと作りようないじゃん
ロール紙を使う場合、パソコンからどう見えるのかも重要だし、
打ち抜きもライン単位かシート単位かでフォーマットが全然違ってくる
765名無しさん@そうだ選挙にいこう:2014/04/09(水) 02:48:02.86
>>763
分かりやすいありがたいです。
いや意味が分かれば次同じような問題あった場合には自分でできるようになりたいからです。
たくさん問題にぶち当たってすこしずつ作業は進んでいますけどまた質問すると思います。
ありがとうございました。
766名無しさん@そうだ選挙にいこう:2014/04/09(水) 07:18:26.09
>>765
Excelのほとんどの機能について、Googleで検索して自力で勉強することが出来る
そうやって自分で理解するまで色んなサイトの説明を読み解くと
自然と自分で道を切り開いて意味を理解する力が手に入る

それでも乗り越えられない壁があったらここで質問したら良いよ

ここはそういう努力が面倒くさい人が質問するところだから、
勉強したい人が来るところじゃないと思う
767名無しさん@そうだ選挙にいこう:2014/04/09(水) 10:03:21.90
>>745

ありがとうございます!
Resizeで困ってたことが色々解決できそうです!
768名無しさん@そうだ選挙にいこう:2014/04/09(水) 21:54:34.13
Range("A65536").End(xlup).Rowでデータ件数を得るとき、
1行だと1が返りますが、0件でも1が返ってしまいます。
データ行があるか否かを判断するには、どうすればいいですか?
769名無しさん@そうだ選挙にいこう:2014/04/09(水) 22:13:06.80
>>768
=COUNTA(列:列) では?
770名無しさん@そうだ選挙にいこう:2014/04/09(水) 22:26:55.65
マクロの質問に関数で答えるバカw
771名無しさん@そうだ選挙にいこう:2014/04/09(水) 22:34:04.54
>>768
XlUpはデータ数を調べるためにあるわけじゃないので自分で工夫するしかない

>>770
ワークシート関数はVBAからでも使えるし、有効活用した方が能率が良くなることも多い
772名無しさん@そうだ選挙にいこう:2014/04/09(水) 22:37:17.58
>>768
XlUpの結果が1だったら1行目にデータが入っているかどうかチェックするだけ
773名無しさん@そうだ選挙にいこう:2014/04/09(水) 22:43:39.89
>>769,771
MsgBox Application.WorksheetFunction.CountA("A:A")で試してみましたが
0件でも1が返ってしまいます。どこが間違っているでしょうか?
=COUNTA(”A:A")だと0が返るのに・・・
774名無しさん@そうだ選挙にいこう:2014/04/09(水) 22:45:45.30
>>772
1発では無理ぽってことですかね。
とりあえず、それで我慢しますw
775名無しさん@そうだ選挙にいこう:2014/04/09(水) 22:54:51.70
>>773
その書き方だとカッコ内に並べた文字列の個数が出る
CountA("A")だと1
CountA("A", "あ", "123")だと3になるってだけのこと

正解は Application.WorksheetFunction.CountA(Range("A:A"))
776名無しさん@そうだ選挙にいこう:2014/04/09(水) 23:02:41.23
>>773
ぐぐったら、こういうのを見つけた
http://www.serpress.co.jp/excel/vba054.html
シートも指定しなくちゃいけないって書いてあるけど、>>775さんの書き方でもいいのね
上記リンクのページの まとめ の中に
>セルに設定する場合はシートが決まっていますので問題ないものが、VBAの場合では
>シート名を明示しておかないと正しく動作しない場合が発生します。
777名無しさん@そうだ選挙にいこう:2014/04/09(水) 23:37:42.31
なんかセル(結合セル)に設定されているハイパーリンクをVBAで取得したら、
なぜか古いリンクが取得されるので、ウォッチでみたら、なぜか2つハイパーリンクがあるんですが。
セルに複数のハイパーリンクって仕様としてありえるの?
2007
778名無しさん@そうだ選挙にいこう:2014/04/09(水) 23:58:47.02
>>773
Sub a()
MsgBox Application.WorksheetFunction.CountA(Range("A:A"))
End Sub

ワークシート関数はこれがめんどくさい
779名無しさん@そうだ選挙にいこう:2014/04/10(木) 09:53:51.27
MsgBox Application.WorksheetFunction.CountA([A:A])
780732:2014/04/10(木) 11:21:45.79
>>735>>738
すみません、レスが遅くなりました
>@本の様に例題?を自分で入力して、A本の指示の通りに進める
>という手順で毎回、毎回、見本の例題を入力する手間を省きたいと考えていますが
この手間を省く為にCD−ROMが付いていたりするのは無いでしょうか?
エフオーエムのMOS対策本がおススメでしょうか?
ここの回答者の皆さんはどうやってスキルを磨いたのでしょうか?
781名無しさん@そうだ選挙にいこう:2014/04/10(木) 11:38:20.14
>>780
理系的思考ができる人(数学の点数が良いとか計算が早いという意味ではない)であれば
わざわざ問題集なんか買わなくてもある程度試行錯誤してれば自然と身につくんだが
あんたの場合はそうじゃなさそうなんで、FOMの本買って地道に問題解いた方がよさげ。

まぁ、それでそれで即戦力になるかっつうとそれは、理系的(ry なので
また別の話になるけど、何も知識がないよりはマシになるだろ。

実際、MOSの資格持ってる人でも何年も仕事しててもサッパリ覚えない人はいるし
できないやつはいつまでたってもできない。
潔く諦めることも必要。
782名無しさん@そうだ選挙にいこう:2014/04/10(木) 15:39:56.27
一般的に使われる関数はMOS本で十分カバーされてるはず
今は実質エフオーエム一択。問題集は実際の試験問題と内容ほとんど一緒だから
練習で90点取れれば実試験も問題ない

後は白紙から自分で作るようになってから難題に直面→関数解説のサイト見たり本買ったり
783775:2014/04/10(木) 19:28:52.56
>>778
お前・・・
784名無しさん@そうだ選挙にいこう:2014/04/11(金) 05:59:29.07
Excelを便利にする180以上の機能を体系化したアドイン「RelaxTools」
ttp://www.forest.impress.co.jp/docs/review/20140129_632803.html
785名無しさん@そうだ選挙にいこう:2014/04/11(金) 11:41:26.65
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可

VBAでSelectionがB列内であれば処理1、そうでなければ処理2
という事をしたいのですが「Selection = B列内」の部分の記述の仕方が
わからないのでどなたか教えてもらえいないでしょうか?よろしくお願いします。
786名無しさん@そうだ選挙にいこう:2014/04/11(金) 12:16:54.77
>>785
If Not Application.Intersect(Range("B:B"), Selection) Is Nothing Then
"処理1"
Selectionの範囲とB列が重なっていれば "処理1"となる。
限定したければ必要条件に合わせてSelection.Columns.Count = 1のような制御を追加。

一般にはSelectionではなくSelectionChange,DoubleClickなどのイベントのTargetを使う。
787名無しさん@そうだ選挙にいこう:2014/04/11(金) 14:58:41.08
>>786
使ったことのないものがたくさん出てきたのでひとつづつググってマスターしたいと思います!
ありがとうございました!
788名無しさん@そうだ選挙にいこう:2014/04/12(土) 00:26:07.16
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可
VBAでブック内すべてのシートの保護を解除したいのですがパスが2種類あるので
このパスでなければこのパスというようにしたいのですが
Ifの条件指定をどのように記述すればよいかわかりません。
どなたかわかるかたいればよろしくお願い致します。
789名無しさん@そうだ選挙にいこう:2014/04/12(土) 00:30:17.84
788ですが状態としてはパスなし、パスAAAA、パスBBBBが混在するブックのシートの保護をすべて一斉解除したいということです。
790名無しさん@そうだ選挙にいこう:2014/04/12(土) 00:49:28.56
>>788
パスワードが合っているかどうか直接判定する方法はなかったと思うんで、エラーを無視して強制的に処理する

Sub 全シート一括解除()
  On Error Resume Next
  For Each s In Worksheets
    s.Unprotect Password:="AAAA"
    s.Unprotect Password:="BBBB"
  Next
  On Error GoTo 0
End Sub
791名無しさん@そうだ選挙にいこう:2014/04/12(土) 05:42:57.95
列数がCAぐらいまである表で任意の1つのセルを選択した状態 (たとえばBA22を選択)から
その行を端から端まで選択した状態にできるコマンドはあるのでしょうか? (A22からCA22までが選択された状態に。。)
792名無しさん@そうだ選挙にいこう:2014/04/12(土) 08:06:00.16
>>791
表がデータで埋まってて空白セルがなければ
Ctrl+←、Shift+Ctrl+→

あるいはマクロにショートカットキー登録
793名無しさん@そうだ選挙にいこう:2014/04/12(土) 08:51:26.26
>>790
目から鱗です!素晴らしい回答ありがとうございます!
794名無しさん@そうだ選挙にいこう:2014/04/12(土) 15:47:46.05
>>792
ありがとうございます!
空白行があるとそこまでなのですね、、残念。。
画面分割させて離れた場所のデータを見比べているのですが
ハイライトできないと点在するそれぞれのセルを見比べるのに非常に手間がかかっている感じです。
795名無しさん@そうだ選挙にいこう:2014/04/12(土) 16:36:44.15
画面分割で3つめはできないのでしょうか?
796名無しさん@そうだ選挙にいこう:2014/04/12(土) 17:47:53.92
>>795
excelをもう一つ立ち上げて、読み取り専用で同じファイルを開く
スクロールが同期しないけどね
797名無しさん@そうだ選挙にいこう:2014/04/12(土) 18:29:40.26
>>791
参照するときの見易さのためなら、
こういうのをしてる。
対象の表に条件付き書式を設定
=Row()=Z1 書式は好きな色で。
でZ1に、見たい行番号を入れる。
Z1は任意の使いやすいセル番地で良い

条件式は、行でなくて任意の列の値と一致するという式でも。
798名無しさん@そうだ選挙にいこう:2014/04/13(日) 03:28:00.64
>>794
>>797が言ってるのと同じような方法だけど、
↓のようにするといちいち番号入力もしなくていい
ttp://hamachan.info/win7/Excel/active.html

VBAで、リアルタイムで色が変わるようにしてあるんだけど
VBAがNGなら、条件付き書式だけかけて
アクティブセルが移るごとにF9で再計算させてやればおkなはず
799791:2014/04/13(日) 15:33:28.75
>>798
>>797
これはすごいですね!正に798を探してましたありがとうございます!!
800名無しさん@そうだ選挙にいこう:2014/04/13(日) 17:10:17.12
>>798
797だけど、勉強になったよ、ありがとう!
801名無しさん@そうだ選挙にいこう:2014/04/13(日) 23:29:57.49
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
シートのデフォルトの状態で、
A1に「aaaaaaaaaaaaaaaaaaaaaaaaaasaigo」
と入力、
A1A2セルを結合→折り返して表示、で全部表示させようと思いましたが上手く行きません。

セル結合をしなければ自動的に行の高さが調節されるようなのですが、
結合後だと上手くいきません。
うまく表示出来る方法はありますか?
802名無しさん@そうだ選挙にいこう:2014/04/14(月) 05:50:36.26
>>801
無理
確か仕様>結合セルの自動高さ/幅調整
803名無しさん@そうだ選挙にいこう:2014/04/14(月) 08:06:53.93
>>801
結合すると自動調節されない理由は、何行目を広げるか自動では判断できないため
VBA可だからWorksheet_SelectionChangeイベントでやればいい

フォントサイズと文字数から必要な行数(高さ)を計算するのが正当なんだろうけど、時前でやるのは大変すぎるので、
俺なら作業行を使って結合してないセルに同じデータをコピーしてExcelに高さを計算させる
804名無しさん@そうだ選挙にいこう:2014/04/15(火) 11:45:31.85
以前>>785という質問をし>>786さんよりご回答いただいて
SelectionChangenなど教えていただき自分の場合は最終的に
If Not Application.Intersect(Range("B:B"), Selection) Is Nothing Then
で解決したのですがさらにB列からJ列まで指定してれば処理1という記述をしたいのですが
どのようにすればよいでしょうか?
(上記に単純に("B:J")をいれるとB列からH列までしか指定していなくても処理1になってしまうため)
よろしくお願いします。
805名無しさん@そうだ選挙にいこう:2014/04/15(火) 11:59:31.88
>>804
選択範囲にB-Jが含まれてたら、たとえばA-Zでもいいのならこんな感じ

Set r = Application.Intersect(Range("B:J"), Selection)
If Not r Is Nothing Then
  If r.Columns.Count = 9 Then
    処理1
806名無しさん@そうだ選挙にいこう:2014/04/15(火) 14:38:25.79
>>805
ご回答ありがとうございます。
もしA〜Z列を指定した場合であれば処理2としたいのであくまでB〜J列指定で処理1としたいのですが
どうでしょうか?
807名無しさん@そうだ選挙にいこう:2014/04/15(火) 14:49:58.55
>>805さん
>>806と思いましたがAnd でColumns.Count = 9 Thenとその他の列をNothing指定でこちらの要望どおりにできました。
すごく参考になりました!ありがとうございました!
808名無しさん@そうだ選挙にいこう:2014/04/16(水) 19:36:37.54
B1 =IF(A1="","",01)

A1が空白だったら、B1に 01 としたいのですが、
1になってしまします。

文字列にしたら、関数は効かなくなりますし、解決方法はありませんか?
809名無しさん@そうだ選挙にいこう:2014/04/16(水) 20:00:29.38
>>808
書式を00
810名無しさん@そうだ選挙にいこう:2014/04/16(水) 21:35:39.18
>>808
うっ?
=if(a1="","01","")では?
811名無しさん@そうだ選挙にいこう:2014/04/18(金) 19:01:48.94
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 コピペまで
【4 VBAでの回答の可否】 可

よろしくお願いします。

1、1行目を削除
2、J2から下へ(A列に値の入っている行まで)
  それぞれの行のD〜Iの合計値を返す
3、D・E・F・G・H・I・Kを列ごと削除
4、B1を"コード"へ変更
5、D1を"ダンボール箱"へ変更
6、各行でDの値が0(ゼロ)であれば行ごと削除
7、E列を切り取り、A列より前に移動する
8、並び替えをする、優先順位1=A列の文字列順、優先順位2=B列の文字列順
9、セル幅を文字幅に合わせて調整する
10、A列の文字が変わるごとに空の行を3行入れて
   空の行の最後に1行目の列を挿入していく(列1をヘッダーとしていく)
11、A列に値が入っていれば、E列まで罫線で囲い込む
12、D列には数値が入っているので「,(カンマ)」を入れる
812名無しさん@そうだ選挙にいこう:2014/04/18(金) 19:17:20.12
ここまで意味の分からない書き込みも珍しい
813811:2014/04/18(金) 19:47:54.57
すみません
1、12、までを順番に処理していくVBAをお願いしますorz
814名無しさん@そうだ選挙にいこう:2014/04/18(金) 20:06:28.28
すいません。
たとえば10年と11ヶ月という期間を10.11と持ってるデータを、小数点以下だけ10進数に直したいのですが、どうすればいいでしょうか?小数点以下は二桁の場合もあれば一桁の場合もあります。
815名無しさん@そうだ選挙にいこう:2014/04/18(金) 20:13:22.11
>>813
宿題の回答じゃねーんだよ
自動記録でやりゃあいいだろ
816名無しさん@そうだ選挙にいこう:2014/04/18(金) 20:13:56.64
>>814
小数点でデータを分割すれば?
817名無しさん@そうだ選挙にいこう:2014/04/18(金) 20:16:51.46
=(A1-INT(A1))/12
818名無しさん@そうだ選挙にいこう:2014/04/18(金) 20:37:08.86
>>817
intとrounddownってどう使い分けてるのー?
これだとintしたやつ足さないとダメじゃない?
819名無しさん@そうだ選挙にいこう:2014/04/18(金) 20:43:58.46
>>815
ツンデレやな
820名無しさん@そうだ選挙にいこう:2014/04/18(金) 21:29:43.13
>>814
まさかとは思うが 10年 1ヶ月が 10.1 で、10年 10ヶ月が 10.10 とか言うんじゃ...

文字列で持ってるなら Split( ) でいいけど
821811:2014/04/18(金) 22:03:16.90
2番の時点で自動記録ができませんでした
822名無しさん@そうだ選挙にいこう:2014/04/19(土) 01:17:39.45
>>811,821
ステップ2 は、J2セルへ =sum(D2:I2) の入力と
J2セルをJ3セル以下にドラッグコピー
J列のコピー
J列へ値貼り付け
でいいんでしょ 自動記録できますよ

ステップ6 の D は、上記ステップ2のJ列のことですよね
ステップ7 は、A列に1列挿入+E列切り取り+A列に貼り付け でいいと思う
ただ、このE列ってのはステップ2時点でのL列になるのかな?
ステップ10 は意味不明 処理前と途中経過、処理後のシートのイメージを
出してもらえれば、誰かヒマな人が作ってくれるかも
823名無しさん@そうだ選挙にいこう:2014/04/19(土) 08:32:38.78
>>822
処理するシートは毎回行数が違うため、
自動記録では2、
「A列に値が入っているところまでsum(D2:I2)をコピー」

6、の「Dの値が0であればその行を削除」

ができません。
824名無しさん@そうだ選挙にいこう:2014/04/19(土) 08:57:12.40
=(A1-INT(A1))*10
825名無しさん@そうだ選挙にいこう:2014/04/19(土) 09:08:05.00
5年10ヶ月が"5.10"という文字列になっている場合
=MID(A1,FIND(".",A1)+1,2)

大量のデータを一括で変換したい場合は区切り位置
826名無しさん@そうだ選挙にいこう:2014/04/20(日) 01:17:30.63
A1セルに4/20と入力し、書式を定義して2014/04/20に表示してるとき、
4月の4を文字列で返すにはどうすればいいでしょうか?

今は、次のようにやってますが、もっとシンプルな方法があれば教えてください。
a = CStr(Right(Left(Range("A1").Text, 7), 2) * 1)
827826:2014/04/20(日) 01:18:38.58
書式の定義はyyyy/mm/ddです。
828名無しさん@そうだ選挙にいこう:2014/04/20(日) 01:32:06.35
>>826
=MONTH(A1)&""
829名無しさん@そうだ選挙にいこう:2014/04/20(日) 01:33:28.95
>>826
文字列に変換する必要あるの?
別に数値のままでも文字列として処理できるよ
830名無しさん@そうだ選挙にいこう:2014/04/20(日) 01:37:55.11
>>826
a = Format([A1], "m")
831名無しさん@そうだ選挙にいこう:2014/04/20(日) 08:39:20.99
>>829
横レスだけど、月ごとの件数countifや合計sumifsを日付のままで、集計出来たっけ?
=month(日付セル)で抜き出してやってるけど。
832名無しさん@そうだ選挙にいこう:2014/04/20(日) 09:32:02.79
>>823
マクロの自動記録とコピペまで出来るなら、
勉強してみるに丁度良いレベルの問題なんじゃない?
Googleで検索出来る環境ならすぐに答えに行き着けると思うけど

2はxldown(意味がわかればxlupの方がいい)
6はif文を使う

多分他のみんなからして言わせんな恥ずかしいっていう程度の質問だよ
833名無しさん@そうだ選挙にいこう:2014/04/20(日) 11:21:23.96
質問です
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

後述のような表を作ったのですが、ピボットテーブルならすっきり作れると聞いて
ウィザードで作ったのですが意図どおりになりません。作ったのは

  種類|色|所有者A|B|C|←項目
トップス|赤|1(個)  |3|3|
     |青|2    |2|1|
     |黒|2    |3|1|
ボトムス|赤|1    | | |
     |青|3    |2|1|
     |黒|2    |2|1|

といった感じのもので、これを選択してピボット作成ウィザードで

[種類] ←これをクリックしてトップスやボトムスを切り替える

色|A|B|C|
赤|3|2|1|←誰がどの種類の何色を何個持っているか一覧で見たいだけ
青|3| | |

といったテーブルにしようとしたのですが、下記のようになってしまいます。

空白  |A|B|C|
色|▼|3|2|1|4||1|合計|←ここだけ横に長くはみ出て異常に長く余計な計算とかしている
赤   | | | |←┐
青   | | | |←何もない
うまく説明できたかわかりませんが、最初の表を作り直すしか方法はないのでしょうか?かなり大がかりな細かいコピペの繰り返しになるので、できればこのままやりたいです。
834833:2014/04/20(日) 11:27:17.13
改行制限に引っかかったので連投で失礼します。
ググって調べた所、下記のような表に作り直してから
ピボットウィザードを使えばいいのではないかと思ったのですが
基本的な仕組みや概念がわかりやすく理解できるページを見つけ出せず、
見つけたページでは読解力不足でいまいち理解できておりません。解釈としてはこれで正しいのでしょうか?

種類|色|所有者|個数|←項目
トップ|赤| A  | 3 |
トップ|青| B  | 1 |
ボトム|赤| C  | 2 |
835名無しさん@そうだ選挙にいこう:2014/04/20(日) 12:15:42.00
オートフィルタに集計行つければいんじゃないの

ピボットでやるなら、ほんとはこうなってないといけない

  種類|色|数量  |所有者|
トップス|赤|1   |A |
トップス|赤|3    |B |
トップス|赤|3    |C |
836833:2014/04/20(日) 12:47:08.43
ありがとうございます。やはりそうなってないといけないんですね
集計行をつけたら

(空白)     |A  |B|C|
         |2  3                              4 ←┐
         |(空白) 3               4    5    10   3 ←長すぎるので省略
色▼|集計▼|(空白) 1  2  3  4 (空白) (空白) (空白) (空白) 1 ←┘
赤  |(空白)|   |               |   |   |
黒  |(空白)|   |               |   |   |
青  |(空白)|   |               |   |   |

のようになってしまい、おそらくこの状態でピボット側だけを修正して解決するのは
不可能なんじゃないかと思えてきました。

おそらくは、やり方を探す時間と労力を費やすよりも、ちまちまと表の作り直しに数十時間をかけて
きちんとしたピボットを組む方向でさっさと動いたほうが負担が軽く早そうに思えるので、そのようにします。
助言ありがとうございました。
837名無しさん@そうだ選挙にいこう:2014/04/20(日) 13:05:30.35
いや 元の表にオートフィルタかけて集計行つけるだけ ピボットその他の加工はいらない
838名無しさん@そうだ選挙にいこう:2014/04/20(日) 13:40:47.68
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


超基本ですみません。
条件付き書式の質問です。

セルに数値が入っていて、
 1.もし正の数なら白(最小値)〜緑(最大値)の間でグラデーション
 2.もし負の数なら白(最大値)〜赤(最小値)の間でグラデーション
この2つを同時に満たすようセルの色を設定したいのです。
色と濃淡で直感的に数値がわかるように。

よろしくお願いします。
839名無しさん@そうだ選挙にいこう:2014/04/20(日) 14:11:31.79
>>838
まず条件付き書式→カラースケールの一番最初のやつを選ぶ
そうすると赤黄緑のグラデーションになるから、次に条件付き書式の一番下のルールの管理を選ぶ
ルールの編集をクリックすると色と数値の設定画面が出るから中間値を「数値」「0」にして色を白にする
最小値や最大値も設定したい時はお好みで
840名無しさん@そうだ選挙にいこう:2014/04/20(日) 15:00:37.56
>>837
読解力不足ですみません。やっとわかりました。言われた意味を勘違いしていました。

オートフィルタをつけるだけだと、トップスでフィルタをかけると赤の行しか出てこない状態です。
種類のセルには色の数だけ結合をかけているため(トップスは赤青黒の3行ぶん結合している)
種類列の結合を解除してコピーし直さないといけないので
それは避けたいと思って試行錯誤していました。
投稿のために省いていますが、実際のデータは種類と色数にあたる部分が多いので…
どっちにせよ数百種類x数十色数ぶんをコピー・並び替えし直さないと解決しないようなので、今作業しています。

あと、フィルタのタブを押下した際の並び順が強制的に50音順になりますが
種類の並び順はかなり重要なので、これをカスタムできないと厳しいため
ピボットで何とかできないかと思いました。
841名無しさん@そうだ選挙にいこう:2014/04/20(日) 15:12:19.11
見出し要の「種類」とフィルタ用の種類を分けるって方法もある。
本来、データベース用のテーブルでセル結合なんてしてはいけない。

並び順はユーザー定義できる つまり任意の並び順になるよう登録が可能
842名無しさん@そうだ選挙にいこう:2014/04/20(日) 15:52:05.80
>>841
視認性のために表を作っているので、種類の項目は結合しないと
不要な同じ文字列がびっしりと並んでしまい本末転倒なので…

閲覧用のテーブルとデータ用のテーブルで分けると
無駄な情報が増えるうえに重くなってしまうので避けたかったのですが、
すっきり表示するためにはそれしかなさそうですね。

フィルタのユーザー定義は、ピボットテーブルのウィザードなどでも試みましたが
選択しても自由に設定ができず、あらかじめ決められた定義の中から選ぶ事しかできなかったので諦めていました。
ふりがなデータを利用して、並べたい順に数字でふりがなを振ればいけるようなのでやってみます。ありがとうございます。
843名無しさん@そうだ選挙にいこう:2014/04/20(日) 16:19:19.14
ユーザー設定リストを使ってデータを並べ替える
http://office.microsoft.com/ja-jp/excel-help/HA102809333.aspx
844名無しさん@そうだ選挙にいこう:2014/04/20(日) 16:36:12.14
>>839

どうもありがとうございます。
できました。
3色の設定にするのですね。
2色のルールを2つ組み合わせようと試行錯誤してました・・。

助かりました。
845名無しさん@そうだ選挙にいこう:2014/04/20(日) 17:33:20.03
>>842
まず元となるデータベースがあって、それは同じ項目がいくつも並んでいてとても見づらく無駄に感じる物ですが加工に適しています
そこから必要に応じて見やすい一覧表を作ったり集計するのが本来のやり方なのです
Excelの色々な機能も、そのように使う前提で設計されているのです
846名無しさん@そうだ選挙にいこう:2014/04/20(日) 22:27:25.78
入力と出力は分けるのがシンプルで美しい結果を得るコツ
素人はどっちもひとつの表で間に合わせようとするからいろいろとおかしくなる
847名無しさん@そうだ選挙にいこう:2014/04/21(月) 00:35:49.66
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

うろ覚えですが、知り合いがマクロやプッシュボタンを使わずに
図形の中にIFかなにかの関数を割り当てて
図形をクリックするとマクロのように効果が出るように設定していました。たしか集計か置換が発生してたような?
これのやり方に心当たりある方いますか?

その知り合いは
「学校でちょっとやっただけでExcelよくわからない」と言ってたから
難しい動作じゃないと思うし、割り当ててる内容もそんなに長い文字列ではなかった気がします
848名無しさん@そうだ選挙にいこう:2014/04/21(月) 06:41:56.08
知り合い以外ではエスパーしか回答できないだろうな
849名無しさん@そうだ選挙にいこう:2014/04/21(月) 08:09:46.34
ちょっと待て
  その図形は
    ただのボタン
850名無しさん@そうだ選挙にいこう:2014/04/21(月) 10:06:50.81
図形 クリック イベント
辺りでぐぐって。
851名無しさん@そうだ選挙にいこう:2014/04/21(月) 12:29:38.80
847です。
>>848
かもしれないですが、知り合いといっても連絡先も知らなくて
本人に確認ができないので、藁にもすがる思いで
僅かな情報を絞り出して書きました。

>>849
質問時に書いたように、ボタンではないです。
図形ツールで設置するところをしっかり目撃しました。

>>850
ググってみましたが、マクロを使わないといけないようです。
その知り合いはVBAとか全くわからない人だったのと
(マクロが使えるか私に聞いてきて、ダメと答えると、自分も全くわからないしじゃあこれしかないかと言いながらこの図形のやつを作り始めたので。)
図形を作るときに関数を入力していたので、マクロを使わずにできるようでした。

後日私がそのブックを開く機会があったときも、「このファイルにはマクロが使われています」というダイアログも出てきませんでした。
ひょっとして高等技術なのでしょうか?
852名無しさん@そうだ選挙にいこう:2014/04/21(月) 12:49:00.97
>>851
別にマクロ使ってるブックだからといって
必ずダイアログが出るわけじゃないんだが。
853名無しさん@そうだ選挙にいこう:2014/04/21(月) 13:30:45.09
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
アクティブシートがsheet1の状態で
Worksheets("sheet2").Cells(Rows.Count, 14).End(xlUp).Offset(1, 0).Select
だとエラーが出て
Worksheets("sheet2").Select
Cells(Rows.Count, 14).End(xlUp).Offset(1, 0).Select
のように一度sheet2をセレクトしてからだと動くのですが前者の動かない原因を教えてもらえないでしょうか?
よろしくお願いします。
854名無しさん@そうだ選挙にいこう:2014/04/21(月) 14:22:37.89
855名無しさん@そうだ選挙にいこう:2014/04/21(月) 15:01:40.26
>>854
ありがとうございます。
>>332-333の意味がようやくわかりました。
この時はソートとセレクトを書き間違えたのかと思い、ソートはシートを選んでから使ってねっと回答されたと
自分なり解釈したのですが、多分質問がこちらの意図とは別に回答者さまに伝わっていたのですね。
その後のレスにもある通りソートのレンジ指定がワークシートから指定していなかったことがこのときのエラーの原因だったので
すっかりこの回答のことを忘れていました。
856名無しさん@そうだ選挙にいこう:2014/04/21(月) 15:40:16.57
>>851
フィルターか条件付き書式じゃねえの?
図形の中に関数書くなんてないと思うけど。
最初から最後までその作業を見てたわけじゃないんだろ?
857名無しさん@そうだ選挙にいこう:2014/04/21(月) 17:24:27.82
エクセルのウィンドウタイトルバーに
普通のウィンドウと同じ色をつけたいんだけど
どこの設定をいじればいいですか?
858名無しさん@そうだ選挙にいこう:2014/04/21(月) 19:13:17.28
>>857
osとofficeのバージョンぐらい書けやカス
オプションだよ
859826:2014/04/21(月) 19:23:34.64
レスが遅くなりすみません。
ご回答くださった方、ありがとうございました。

>>828
それだとダメでした。

>>829
変換する必要があったから、CStrで変換してたわけで・・・

>>830
なぜかうまくいきました。
860名無しさん@そうだ選挙にいこう:2014/04/21(月) 20:30:50.08
>>852
>>856
そうなんですね…一応最初から最後まで見ていたときもありましたが、
ぼんやり眺めていたので肝心な部分が曖昧です

条件付き書式について調べたら動作はかなり近いものがあるので、これを勉強してみます。
曖昧な質問を長々とすみませんでした。ありがとうございました。
861名無しさん@そうだ選挙にいこう:2014/04/21(月) 20:31:43.68
記名を忘れていました、>>860のレスは>>833によるものです。失礼しました
862名無しさん@そうだ選挙にいこう:2014/04/21(月) 22:33:12.38
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010

ForでC1セルからC列の最下行まで辿り、丸付き数字(@〜S)が入ってたら、
変数nに代入するにはどうすればいいでしょうか?
If Cells(i, "C").Value = "@" Then
 n = Cells(i, "C").Value
ElseIf Cells(i, "C").Value = "A" Then
 ・
 ・
 ・
というのは、ちょっと品がないので・・・
863名無しさん@そうだ選挙にいこう:2014/04/21(月) 22:34:53.23
>>851=847=860じゃないの?
>>833も同一人物なの?
にしてはPCのスペックが違うようだが。
864名無しさん@そうだ選挙にいこう:2014/04/21(月) 22:50:14.75
fglkjgrfkj;l
865名無しさん@そうだ選挙にいこう:2014/04/21(月) 22:55:19.13
あ、規制溶けた
>>862
Sub a()
For i = 1 To 10
If Asc(Cells(i, 1).Value) > -30913 And Asc(Cells(i, 1).Value) < -30892 Then
n=Cells(i, 1).Value

Cells(i, 2) = Asc(Cells(i, 1).Value) + 30913
End If
Next
End Sub
866名無しさん@そうだ選挙にいこう:2014/04/21(月) 23:16:07.83
>>865
Ifのところで、
「プロシージャの呼び出し、または引数が不正です。」
とメッセージが出てしまいます。
867名無しさん@そうだ選挙にいこう:2014/04/21(月) 23:23:56.01
>>862
◎ = Cells(i, "C")
If "@" <= ◎ And ◎ <= "S" Then n = ◎
868名無しさん@そうだ選挙にいこう:2014/04/21(月) 23:25:09.68
>>865
"C"
869名無しさん@そうだ選挙にいこう:2014/04/21(月) 23:35:56.72
>>866
C列全体ならこう

For Each ◎ In Intersect(ActiveSheet.UsedRange, [c:c])
  If "@" <= ◎ And ◎ <= "S" Then n = ◎.Text
Next
870名無しさん@そうだ選挙にいこう:2014/04/22(火) 15:01:10.56
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
SUMIFSのようなことがしたくて下記のようなものをつくりました。
データは1行が商品コード、名称、月、数量のような並びです。
選んだセルの商品コードから月があえば数量を足していき別のシートに順番に書き出していくイメージでつくりました。
選んだセルの最初の処理はSUMIFSのように機能するのですが2つめの処理から数量の和が0になってしまいます。
なぜ2つめの処理からの和が0になるのかと解決策を教えていただけないでしょうか?
よろしくお願いします。
(問題自体はSUMPRODUCTを最近知ったので解決済みです)
Dim MON As Integer, DC As Long, i As Long, i2 As Long, FE As Range, i3 As Long
i3 = 3 '別シートのレンジ用
i2 = 4 アクティブシートのレンジ用
MON = Range("R2") '月の数字が入ったレンジ
For Each FE In Selection
i = 0    '数量の和 ループのたびに0にして足していくつもりでした。
Do Until Range("D" & i2) = ""
If Range("D" & i2) = FE And Range("D" & i2).Offset(0, 14) = MON Then  'D列が商品コード、14列右に月が入っています。
i = Range("D" & i2).Offset(0, 17) + i    'Dの17列目に数量がはいっています。
End If
i2 = i2 + 1
Loop
Worksheets("Sheet2").Range("A" & i3) = i
i3 = i3 + 1
Next FE
871名無しさん@そうだ選挙にいこう:2014/04/22(火) 18:09:35.28
>>870
Do Loop の直前に変数 i2 の初期化が必要と違うか? チラっと眺めただけなので的外れならごめん。
872複乳:2014/04/22(火) 18:20:22.59
手術って大変やな。どうでもええけどな。
>>870
selectionがわからん。せめてrengeで決めてくれ
873名無しさん@そうだ選挙にいこう:2014/04/22(火) 18:22:04.38
>>870
根本的にアルゴリズムがおかしい
1つ目を集計した所でi2が最終行まで行ってしまうのでForの2周目以降はすべて0になる
かと言ってi2を毎回4に戻すのもFEに戻すのも変
ループごとに商品コードと月の重複をチェックしていないから、同じ結果がいくつも出てきてしまう
874名無しさん@そうだ選挙にいこう:2014/04/22(火) 20:33:10.44
>>847です。
>>863
レス番を間違えました。>>833は全く違う人です。すみません。
訂正すると連投しすぎで鬱陶しくなるし恥ずかしかったので放置してしまいました。
875名無しさん@そうだ選挙にいこう:2014/04/22(火) 22:44:22.85
>>871
ありがとうございます!たしかにそれっぽいですね!明日たしかめてみます!
>>873
商品コードがならんでいるのでいくつか選んでRangeの月に出た商品のそれぞれの合計を出したいイメージでした。i2を毎回4に戻すのは変なのですね。とりあえずたしかめてみます!ありがとうございました!
876名無しさん@そうだ選挙にいこう:2014/04/23(水) 05:36:02.26
名前の定義がデータ200以内というのを最近始めて知ったのですが、200行以上のデータを扱う際に適した機能などはあるでしょうか
877名無しさん@そうだ選挙にいこう:2014/04/23(水) 07:05:10.91
>>876
そうだったの?
知らずに1500行超えても使えてたけど
878名無しさん@そうだ選挙にいこう:2014/04/23(水) 08:41:26.14
名前の定義 200以下でぐぐってみた

http://support.microsoft.com/kb/830287/ja
注 : この資料に示す方法では、データが 200 行以下であることを想定しています。適切な数値を使用して、最大行数を反映するように、定義名を変更できます。

単に例がそうなってるだけ。勘違いだろう
879名無しさん@そうだ選挙にいこう:2014/04/23(水) 08:51:44.52
$B$200の部分だな
ここの行数をもっと大きくすれば200以上でも対処できる
880名無しさん@そうだ選挙にいこう:2014/04/23(水) 11:05:03.74
では私のミスなんですね・・・「BSheet」という名前で、
Sheet2に行数が増減する200件以上のデータを入力し、

名前の管理にて
=OFFSET(Sheet2!$A$1,0,0,COUNTA(Sheet2!$A:$A),18)
を作り、
VLOOKUP($E24,Bsheet,3,FALSE)
のように利用しています。E列をもとに、Sheet2のA列と照会してます。しっかり照会され、VLOOKUPも正しく機能しているように見えたのですが、
実際は178行目から先はエラーしか返しません。

また、「BName」と名づけ、内容を
=OFFSET(Sheet2!$A$1,,,COUNTA(Sheet2!$A:$A))
としたものを、データの入力規則よりリスト、
=BName
と指定しドロップボックスで選択できるようにしています。
これはE2からE20で同条件の指定をしてますが、やはり同様に178行目までしか読めませんでした。

BSheet、BNameとも178行目までしか参照せず、179行目からはエラーとなってしまいます。
名前の管理で参照範囲を確認した場合も、178行目までのみを点線で囲っていました。
これはどのように修正したらよいのでしょうか。

http://www.rupan.net/uploader/download/1398218278.jpg
参照範囲を確認したところ、178行目までしか参照してくれていない

http://www.rupan.net/uploader/download/1398218370.jpg
基準セルがうまく指定できず、-22と追記して見た目うまくいったように見えたもの
881名無しさん@そうだ選挙にいこう:2014/04/23(水) 16:56:07.20
>>880
よくわからんけど例えば=OFFSET(Sheet2!$A$1,0,0,COUNTA(Sheet2!$A:$A)+50,18)とかやっても無理?
882862:2014/04/23(水) 20:20:20.05
>>867,869
うまくいきますた。
ありがとうございます。
883名無しさん@そうだ選挙にいこう:2014/04/23(水) 22:25:23.18
>>881
説明が判りづらくてすみません。

BNameについては+50したことでうまく動作しましたが、BSheetは変わらず#N/Aを返しました
チェックする範囲を、COUNTAで取得したもの+50まで広げたという解釈で間違ってないでしょうか。

そして、ふと思い立ちSheet2のA行の空行に適当な文字列を入れて埋めたところ、埋めた行数だけ正常に認識してくれるようになりました。
正解は「空行をカウントしない」だったようで、大変初歩的なこと、失礼しました。
884名無しさん@そうだ選挙にいこう:2014/04/27(日) 14:29:12.35
【1 OSの種類         .】 windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

どなたかお願いします。
仮に取扱品目が100品目あるとして、そのうちの20品目だけが、別途添付
書類が必要となるのですが、その品目コードが規則性がほとんどなく割り
当てられていて、発注自体も毎回ランダムに組み合わされて出てくるので、
その添付書類が必要な20品目の発注があった場合に自動的に検出・検索
出来る簡易のシステムを作りたいと思っています。
EXCEL関数か何かでいい方法はないでしょうか。以前の条件付き書式であ
れば作れたと思うのですが、EXCEL2013の条件付き書式だと、それに該当
しそうなものが探した限りではないように思われます。
885名無しさん@そうだ選挙にいこう:2014/04/27(日) 15:07:42.76
>>884
「仮に」ってことならIF関数がお勧めかな
あとは「ランダム」ってことでRAND関数も使えそう
886名無しさん@そうだ選挙にいこう:2014/04/27(日) 15:21:50.36
VLOOKUPで
887名無しさん@そうだ選挙にいこう:2014/04/27(日) 15:25:49.59
添付書類が必要な20品目をリストで管理してVlookupすればいいんじゃね
その場合は数式のコピペが必要になるが、コピペが嫌ならVBAで処理する必要がある
RAND関数は絶対いらんだろw
888884:2014/04/27(日) 15:39:00.77
>>886,887
ありがとうございます。
やはりVlookupですか。今一使い方が分からないんですよね。
それと、コピペが出来ればいいんですが、元データが、
PDFなもんで、そもそもそれをexcelかwordデータに変換する
ところがまた問題なんですが。
889名無しさん@そうだ選挙にいこう:2014/04/27(日) 15:46:15.11
>>884
よく分からんけど、こういうこと?
http://gazoup.org/post.php?id=1398581032

PDFは普通にコピー、貼り付けでイケルと思う
無理なら pdf フリー 編集 で検索すればアプリが出てくる
昔俺も何か使っていたけど、今はアクロバットが支給されたからどれがいいかはよくわからん
890名無しさん@そうだ選挙にいこう:2014/04/27(日) 15:57:39.46
>>888
コピーが禁止されてないPDFなら、開いたら画面を右クリック、選択ツールにして
Ctrl+A、Ctrl+Cでコピーできる
ExcelでCtrl+Vでコピペ完了
ただし一覧表はぐちゃぐちゃになることもけっこう多い
891884:2014/04/27(日) 16:11:09.70
>>889,890
ありがとうございます。
試してはみますが、PDFデータの方は、要は全体で1つの画像みたい
になっていて、画像としてならwordとかに取り込むことも出来る
と思うんですが、要はデータの中の数値を数値として認識していな
いように思います。おそらく元データ側でそういう設定にしている
ものと思います。
892名無しさん@そうだ選挙にいこう:2014/04/27(日) 16:50:43.70
PDFが画像ならOCRするしかないが、目でチェックする必要はあるな
893名無しさん@そうだ選挙にいこう:2014/04/27(日) 16:52:33.90
OCR使うなら読み取り革命がオススメ
体験版の内に全部すませれ
中途半端なOCRは「時間」が「時問」になったりして、目で追うのも辛いぞ
894名無しさん@そうだ選挙にいこう:2014/04/27(日) 21:19:16.61
リンゴ 11
イチゴ 12
リンゴ 10
イチゴ 3
イチゴ 11

↓ソート 日付順 (日付欄は割愛)

リンゴ 11
リンゴ 10
イチゴ 12
イチゴ 3
イチゴ 11

ソート後に縦並びに分類されたデータからリンゴとイチゴの数の推移の表を作りたいのですが簡単にできる方法はありますでしょうか?
リンゴ 11 10 ・・・
イチゴ 12 3 11 ・・・ このほかにも多数項目が有り手作業で並べると何日かかっても終わらないと気付きました・・宜しくお願い致します。(VBA可)
895894:2014/04/27(日) 21:23:07.73
>>894 
説明が足りていませんでした。
日付はソートの第2条件です。。 第一条件は種類名です。
896名無しさん@そうだ選挙にいこう:2014/04/27(日) 21:36:51.46
>>894
種類名と日付でピボットテーブルを作れば一瞬で終わる
897名無しさん@そうだ選挙にいこう:2014/04/27(日) 21:58:06.07
>>896
ピボットテーブルで思い通りのグラフができた試しがありません。
自分の勉強不足だと思いますが。。今回のもリンゴだけではなくフジリンゴのようなマイナーネームが複数有り超縦長の表がてきてしまいました。
898名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:03:43.51
だからリンゴとイチゴだけにしぼってピボットつくればいいじゃん
899894:2014/04/27(日) 22:06:08.98
>>896
教えて頂きましてありがとうございます。(お礼を言い忘れていました、すみません。。)
補足しますとソート上では先頭がリンゴでリンゴフジタイプ12のような名前でもリンゴはリンゴで集合しています。ピボットにしますと再度全項目が細分化されます。
先頭文字を再サンプルして分類したい項目タイトルを新規列に入れ込むとできるかとか思いますが字数が一致しないタイトルとか微妙です。。 
900名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:15:40.90
質問例と実際がちがうんだろうから説明がめんどくさいなー 集計したい項目を列につくって、それをピボットで集計すればいいよ フジリンゴの横にリンゴって列をつくるの
901名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:19:42.78
>>899
だったら最初から質問にそう書けよ
そういうのを「後出し」って言って、質問スレでは一番嫌われるパティーン
902894:2014/04/27(日) 22:19:48.55
>>900
詳しく教えて頂きましてありがとうございます。
ピボットは10度目の正直ぐらいですが、、挑戦してみます。
903名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:39:48.84
【1 OSの種類         .】 windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

A B D
C A A
B C C
上のようにランダムに山程ある単語から
A3 C3 B2
と言った感じで複数有る物を、多い順にカウント、無理なら順番関係なしでも可って可能です?
COUNTIFで全部手動で条件指定は種類多いので…
904名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:49:59.52
>>903
縦一列に並べて重複しないようにフィルタをかける 「詳細設定」の「重複するレコ〜」
後はそれを元にcountif
多い順に並べたければ並び替え
905名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:54:54.55
1列に並べてピボット
906名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:58:21.12
ピボットキライ
907名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:58:51.34
>>903 >>904
全データが縦一列になってたら、ピボットテーブルで重複チェックも並べ替えも簡単にできる
908名無しさん@そうだ選挙にいこう:2014/04/27(日) 22:59:31.76
>>906
いっぺんやってみ
集計が簡単すぎて失禁するレベル
909名無しさん@そうだ選挙にいこう:2014/04/27(日) 23:07:12.47
集計って機能はある意味害悪だよな
910名無しさん@そうだ選挙にいこう:2014/04/27(日) 23:17:12.12
>>908
データの入れ替えが発生した時に手動で更新しないといけないのが糞だと思う
911名無しさん@そうだ選挙にいこう:2014/04/27(日) 23:45:11.56
912名無しさん@そうだ選挙にいこう:2014/04/27(日) 23:47:32.40
>>904-905,907
ありがとう、一応欲しいデータは取れたよ
後出しで悪いが…左に固定の項目有って途中でその項目を
追加や消去したら連動して結果変わる仕様ってのに出来ればしたかったが…
913名無しさん@そうだ選挙にいこう:2014/04/28(月) 00:32:49.45
ピボットの達人になるには一体どうすれば良いのでしょうか?
914名無しさん@そうだ選挙にいこう:2014/04/28(月) 00:36:16.13
ピボット師匠に弟子入りしなさい
915名無しさん@そうだ選挙にいこう:2014/04/28(月) 01:48:25.19
何でもそうだけど使わないとうまくならない
なんでも使うことだな
916名無しさん@そうだ選挙にいこう:2014/04/28(月) 08:58:29.51
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBAのコードをお願いします。
「kobana」と言うシートの2行目〜最終行を
「kanza」と言うシートの最終行以降に貼り付けができるVBAをお願いします。

*2つのシートの行数は毎回変動します
*どちらのシートのA列には最初から最終行まで値が入っています。
917名無しさん@そうだ選挙にいこう:2014/04/28(月) 09:26:21.44
>>916
めんどい。せめて自分である程度書いてきて
シートの選択は
vba シート アクティブ で
最終行の取得は
vba 最終行 取得 で
行のコピーは
vba 行 コピー で

それぞれ取得できる
918名無しさん@そうだ選挙にいこう:2014/04/28(月) 09:50:29.11
>>916
ヒント

Sheets("Sheet1").Select
Range("2:" & Range("A1").End(xlDown).Row).Copy
Sheets("Sheet2").Select
Cells(Range("A1").End(xlDown).Row + 1, 1).Select
ActiveSheet.Paste
919916:2014/04/28(月) 10:16:36.81
>>918
ありがとうございます
920名無しさん@そうだ選挙にいこう:2014/04/28(月) 10:24:30.20
「kobana」と言うシートを選択
Ctrl+Home (A1セルを選択)
↓     (A2に移動)
Ctrl+Shift+↓ (A列の2行目から最終行目までを選択)
Shift+Space (行選択)
Ctrl+C    (コピー)
「kanza」と言うシートを選択
Ctrl+Home (A1セルを選択)
Ctrl+↓   (A列の最終行に移動)
↓     (最終行の次の行へ移動)
Ctrl+V   (貼り付け)

これをマクロで記録しる
921名無しさん@そうだ選挙にいこう:2014/04/28(月) 10:26:20.42
最終行の取得はCtrl+↑でやったほうが
922916:2014/04/28(月) 11:35:08.30
>>920
>>921
マクロ記録でこんな使い方があるなんて知りませんでした。
ありがとうございます。
923916:2014/04/28(月) 13:12:44.54
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 コピペしかできません
【4 VBAでの回答の可否】 可

連続で質問してすみません。

F2に関数が入っていて、その関数を下へ向かってコピーしたいと思います。
コピーする最終行はA列の値が入っている最終行までです。
そこで↓のコードを見つけたのですが、

Range("F2:F2").AutoFill Destination:=Range("F2:F" & Range("A1").End(xlDown).Row())

A列に空白行が入るとその行で止まってしまう事と
開いているシートでのみに適応しているので、常に「kobana」と言うシートを選択して
実行したいと思います。よろしくお願いします。
924名無しさん@そうだ選挙にいこう:2014/04/28(月) 14:32:49.02
>>923
マクロの記録でシートの選択すればok
あと最終行は>>921の通り
http://www.niji.or.jp/home/toru/notes/8.html
を参考に
925名無しさん@そうだ選挙にいこう:2014/04/28(月) 14:33:20.24
>>923
最終行を探す時、上からxlDownを使うと空白のところで止まってしまう
そういう時は一時番下からxlUpで最終行を探す

Cells(Rows.Count, 1).End(xlUp)
926名無しさん@そうだ選挙にいこう:2014/04/28(月) 15:10:21.62
【1 OSの種類         .】 Windowsバージョンあまり関係なし
【2 Excelのバージョン   】 Excelバージョンあまり関係なし
【3 VBAが使えるか    .】 VBAは関係なし
【4 VBAでの回答の可否】 VBAは関係なし
参照が多過ぎてシートが重くなりvlookupをindex(match())にしたのですが、
例えばA1〜A100に参照が必要なデータ、B1〜B100、C1〜C100、D1〜D100に対応するデータがあり、
E1、E2、E3に、参照内容
F1にB列、F2にC列、F3にE列の対応データを表示する場合
べたうちで
F1=index(B1:D100,match(E1,A1:A100,1),1)
F2=index(B1:D100,match(E1,A1:A100,1),2)
F3=index(B1:D100,match(E1,A1:A100,1),3)
とするのと、立体参照せずに列のみ参照で
F1=index(B1:B100,match(E1,A1:A100,1),1)
F2=index(C1:C100,match(E1,A1:A100,1),1)
F3=index(D1:D100,match(E1,A1:A100,1),1)
とするのと、
F4あたりにF4=match(E1,A1:A100,1)を入れて、
F1=index(B1:B100,F4,1)
F2=index(C1:C100,F4,1)
F3=index(D1:D100,F4,1)
とするのでは、どれが一番効率的でしょうか?
927名無しさん@そうだ選挙にいこう:2014/04/28(月) 15:18:40.77
訂正
E1、E2、E3に、参照内容
F1にB列、F2にC列、F3にE列の対応データを表示する場合

E1に、A列を参照するためのデータ
F1にE1に対応したB列のデータ、F2にC列データ、F3にD列データを表示する場合
928916:2014/04/28(月) 15:20:23.62
>>925
Cells(Rows.Count, 1).End(xlUp) はどこと入れ替えればいいですか?

Sheets("kobana").Selectを先頭にもってきていいですか?
929名無しさん@そうだ選挙にいこう:2014/04/28(月) 15:24:13.49
>>926
一番下
とにかく参照範囲、県産回数が少ない方がいい
930916:2014/04/28(月) 15:42:32.68
すみません。

i = Cells(Rows.Count, 1).End(xlUp).Row
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F" & i)

でできるようになりましたが

Sheets("kobana").Select
i = Cells(Rows.Count, 1).End(xlUp).Row
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F" & i)

だとできなくなります。よろしくお願いします。
931名無しさん@そうだ選挙にいこう:2014/04/28(月) 15:51:52.78
>>929
ありがとうございます
932名無しさん@そうだ選挙にいこう:2014/04/28(月) 15:58:49.80
>>930
できるんならそれでいいんじゃないか
933916:2014/04/28(月) 16:03:33.22
スペルが間違っていただけでした
お騒がせしました
934名無しさん@そうだ選挙にいこう:2014/04/29(火) 01:55:18.11
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
Excel2010でシートを作っていますが、Excel97と、Excel2003の人が使いたいと言っています。
Excel97やExcel2003では、縦横同時「非表示」に付いていけるのでしょうか?
現在、Excel2010ではそのシートを縦にFO〜GVと、横に113〜270を同時に(十字状に)非表示にしています。
935名無しさん@そうだ選挙にいこう:2014/04/29(火) 02:01:13.72
>>934
列・行が非常に多いシートは使わないほうが良い
936名無しさん@そうだ選挙にいこう:2014/04/29(火) 02:41:53.91
>>934
可能
937934:2014/04/29(火) 10:47:29.89
>>935-936
ありがとうございました!
安心して渡せます
938名無しさん@そうだ選挙にいこう:2014/04/29(火) 14:07:03.68
いまだにoffice97を使っていることに不安を覚える
939名無しさん@そうだ選挙にいこう:2014/04/29(火) 16:13:37.63
いちいち他人の使ってるソフトのバージョンで不安になる人がいるかと思うと不安で寝れない
940名無しさん@そうだ選挙にいこう:2014/04/29(火) 18:47:22.01
会計士の知り合い数人いるけど誰一人ピボット使える人なんていないんだけど
ピボットを使いこなしてる人は何やってる人なの?
941名無しさん@そうだ選挙にいこう:2014/04/29(火) 19:03:24.82
むしろ会計士がExcelつかってるのが不安だな 専用ソフトつかえよ
942名無しさん@そうだ選挙にいこう:2014/04/29(火) 21:17:07.84
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 すこしは
【4 VBAでの回答の可否】 否
集計表を作成していてA列に数値データB列に関数を入力して計算させています。
基本的にはB1に=A2-A1の結果を表示させたいのですが、
いくつか条件を持たせたいのです。
@A1,A2両方に数値が入力されていたら計算。
AA1が空白の時は""を返す。
BA2が空白かつ、A3に数値が入力されていたらA3-A1とする。
 但しA2が空白のときにA3に数値が入力されているとは限らないので下方向に
 みて次に数値が入力されているセルを計算対象とする。

以上ですがとりあえず@とAの条件は
=IF(AND(ISNUMBER(A1),ISNUMBER(A2)),A2-A1,"")
で出来たのですがBの条件をクリアする方法が分かりません。
どうしたらよいかご教示願います。
943名無しさん@そうだ選挙にいこう:2014/04/29(火) 21:34:56.19
>>942
=if(and(a2="",isnumber(a3)),a3-a1,if(and(〜
ってことじゃなくて?
944名無しさん@そうだ選挙にいこう:2014/04/29(火) 22:24:17.69
>>943
ひっかかってるのは、「次に数値が入力されているセル」の部分だと思う
945名無しさん@そうだ選挙にいこう:2014/04/29(火) 22:27:35.55
縦に参照する数式入れると、
ソートもかけられなくなるから、
1枚のシートではしたくないね
946名無しさん@そうだ選挙にいこう:2014/04/29(火) 22:53:44.79
作業列を追加したほうが楽そう
947名無しさん@そうだ選挙にいこう:2014/04/29(火) 23:50:34.15
>>943
>>944さんのおっしゃる通りです。

>>945さん,>>946さん
具体的にどのようにしたらよいでしょうか?
948名無しさん@そうだ選挙にいこう:2014/04/30(水) 00:01:26.89
空欄が2回以上続くなら作業列、1回だけならif
949名無しさん@そうだ選挙にいこう:2014/04/30(水) 09:43:40.61
【1 OSの種類       .】 Windows7
【2 Excelのバージョン  】 Excel 2007
【3 VBAが使えるか    .】 コピペしかできません
【4 VBAでの回答の可否】 可

VBAのコードをお願いします。
Sheet8のD列の2行目意向に値が入っています。
そのD列の値が"集計"であれば入力されている行を全て削除するコードをお願いします。
950名無しさん@そうだ選挙にいこう:2014/04/30(水) 10:37:56.04
【1 OSの種類       .】 Windows7
【2 Excelのバージョン  】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
A1〜に会計1、帳簿1、会計2、統計4、総合4、会計1、総勘定2、会計1、帳簿2・・・とある場合に、
セル内容の数字だけを抽出したいのですが、どんな関数を使ったら数字だけ抽出する事が出来るでしょうか?
(数字だけB1〜に分けようとすると「作業効率が落ちる」とか言われて分ける事が出来ません)
951950:2014/04/30(水) 10:42:53.55
セル数が非常に多く、ぐぐるとすぐに出てくるFIND({0,1,2,3,4,5,6,7,8,9}を使った場合、
1つのセルを入力するたびに動作が数秒間止まってしまうので(FINDは「重い」関数らしいです)
FINDなしでお願いします
952950:2014/04/30(水) 10:50:37.09
自己解決しました
953名無しさん@そうだ選挙にいこう:2014/04/30(水) 11:34:52.30
>>949
Sub Macro1()
  Sheets("Sheet8").Select
  For Each c In Intersect(ActiveSheet.UsedRange, Range("G2:G" & Rows.Count))
    If c = "集計" Then Range(c.Row & ":" & c.Row).Clear
  Next
End Sub
954名無しさん@そうだ選挙にいこう:2014/04/30(水) 11:36:26.88
>>949
>>948は間違えたので訂正

Sub Macro1()
  Sheets("Sheet8").Select
  For Each c In Intersect(ActiveSheet.UsedRange, Range("D2:D" & Rows.Count))
    If c = "集計" Then Range(c.Row & ":" & c.Row).Clear
  Next
End Sub
955950:2014/04/30(水) 11:50:26.45
>>952
こら偽物はイカん。
解決しちゃおらん。
956957:2014/04/30(水) 11:51:31.88
自己解決しました↓
957名無しさん@そうだ選挙にいこう:2014/04/30(水) 11:54:53.32
>>950
作業列に=RIGHT(A1,1)と入れて非表示にしておく
958名無しさん@そうだ選挙にいこう:2014/04/30(水) 11:54:54.40
まだ質問してないわい
959949:2014/04/30(水) 13:11:15.50
>>954
すみません間違えました。
「集計」ではない行を削除して、上に詰めるでした
ごめんないさい
960名無しさん@そうだ選挙にいこう:2014/04/30(水) 13:39:56.63
>>959
D列にフィルター(オートフィルター)かけてコピペした方が早いんじゃない?

Sub Macro2()
  For r = Cells(Rows.Count, "D").End(xlUp).Row To 2 Step -1
    If Cells(r, "D") <> "集計" Then Rows(r & ":" & r).Delete
  Next
End Sub
961949:2014/04/30(水) 13:57:15.50
>>960
できました!ありがとうございます
オートフィルターでも同じ事ができましたorz
962名無しさん@そうだ選挙にいこう:2014/04/30(水) 14:01:19.19
2007から「オートフィルター」は「フィルター」に正式名前が短縮された
「オートフィル」と紛らわしかったから変えたのかな?
963名無しさん@そうだ選挙にいこう:2014/04/30(水) 14:07:34.46
正式名称だった
なんだよ正式名前って
964名無しさん@そうだ選挙にいこう:2014/04/30(水) 14:38:04.11
【1 OSの種類       .】 Windows7
【2 Excelのバージョン  】 Excel 2007
【3 VBAが使えるか    .】 NO
【4 VBAでの回答の可否】 NO
A1に1か2か3か4を入力する形式で、
B1にA1が1なら「かけ」、2なら「たぬき」、3なら「きつね」、4なら「てんぷら」、それ以外を入れたら「エラー」と出したい場合、
B1=if(A1=1,"かけ",if(A1=2,"たぬき",if(A1=3,"きつね",if(A1=4,"てんぷら","エラー"))))
といったifの入れ子以外で解決する方法はないでしょうか?
965名無しさん@そうだ選挙にいこう:2014/04/30(水) 15:43:28.38
>>964
0「エラー」、1「かけ」、2「たぬき」、3「きつね」、4「てんぷら」、5「エラー」でリスト作ってVLOOKUPをTRUEで検索とか
966名無しさん@そうだ選挙にいこう:2014/04/30(水) 16:31:29.26
【1 OSの種類       .】 XP
【2 Excelのバージョン  】 Excel 2002
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可

ループ内での変数の進行を2,4,5というようなことしたい時はどうすればよいでしょうか?
よろしくお願いします。
967名無しさん@そうだ選挙にいこう:2014/04/30(水) 16:39:41.14
【1 OSの種類       .】 Windows7
【2 Excelのバージョン  】 Excel 2007
【3 VBAが使えるか    .】 コピペだけできます
【4 VBAでの回答の可否】 はい

シート「syoukei」の2行目以降で、ANの値が、シート「kodo」のG1と同じ値でない行は
行を削除して、行間を詰める
968967:2014/04/30(水) 17:35:16.59
途中で送っちゃいました。
967ができるコードをお願いします。
969名無しさん@そうだ選挙にいこう:2014/04/30(水) 17:55:52.89
>>966
LA = array(2, 4, 5)
for each i in LA

Next i
970名無しさん@そうだ選挙にいこう:2014/04/30(水) 17:59:26.63
>>967
Sub Macro3()
  Sheets("syoukei").Select
  For r = Cells(Rows.Count, "AN").End(xlUp).Row To 2 Step -1
    If Cells(r, "AN") <> Sheets("kodo").Range("G1") Then Rows(r & ":" & r).Delete
  Next
End Sub
971967:2014/04/30(水) 18:08:30.42
>>970
ありがとうございます!(^^)!
972名無しさん@そうだ選挙にいこう:2014/04/30(水) 21:22:25.92
>>969
ありがとうございます!
973名無しさん@そうだ選挙にいこう:2014/05/01(木) 02:10:59.84
【1 OSの種類       .】 Windows7
【2 Excelのバージョン  】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
if内の論理和と論理積ですが
and(条件1,条件2)と、(条件1)*(条件2)ではどちらが演算が高速・効率的でしょうか?
974名無しさん@そうだ選挙にいこう:2014/05/01(木) 02:26:18.06
>>973
前者は最初から最後までBoolean型のままで処理される
後者はBoolean→数値に変換して掛け算したあと数値→Booleanに変換してから条件が評価される、つまり手順が2つも多い
975名無しさん@そうだ選挙にいこう:2014/05/01(木) 02:28:10.44
型変換よりAND関数を呼び出すオーバーヘッドの方が大きい(予想
976名無しさん@そうだ選挙にいこう:2014/05/01(木) 03:24:18.86
>>974
Booleanって内部的には0か-1の2択だぞ?
それに対してTrue/Falseの値は後からプログラムがつけるんだが
977名無しさん@そうだ選挙にいこう:2014/05/01(木) 03:43:25.75
>>976
FALSEになるのは0の場合だけだが、それ以外はすべてTRUEと見なされるから、数値からBOOLEANに型変換する時、判定ルーチンを必ず一度は通過することになる

if n <> 0 then n = -1
978名無しさん@そうだ選挙にいこう:2014/05/01(木) 06:12:36.56
1 A
2
3
4 B
5
6
7

みたいなデータを

1 A
2 A
3 A
4 B
5 B
6 B
7 B

みたいに変換するのってどうすればいいんでしょうか・・・
すいませんどなたかお願いします
979名無しさん@そうだ選挙にいこう:2014/05/01(木) 06:16:11.48
手作業
980名無しさん@そうだ選挙にいこう:2014/05/01(木) 06:16:54.66
CTRL+G → 空白を全部選択 → =(上のセルアドレス)
981978:2014/05/01(木) 06:29:39.66
>>979
データ全部で3万項目
小区分だけで1000近くあるんで・・・
しこしこ手作業だと1日で終わんない
982名無しさん@そうだ選挙にいこう:2014/05/01(木) 06:45:28.85
a列をキーにsortされてる事が前提で
b2であれば
=if(b2="",a2,)
983名無しさん@そうだ選挙にいこう:2014/05/01(木) 07:03:05.89
申し訳ないんですが
「a列をキーにsort」
これどうやるんでしょうか

そういうレベルの奴にわかるようになんとか(・・;
984名無しさん@そうだ選挙にいこう:2014/05/01(木) 07:30:10.21
>>978
CTRL+G
セル選択
空白セルを選択しOK
上の1の「A」が入力されてるセルアドレスを「=A1」みたいに入力し、CTRLを押しながらEnterキー
985名無しさん@そうだ選挙にいこう:2014/05/01(木) 07:37:53.38
>>980 >>984
アドバイスありがたいのですが
それ1小区分ごとに入力してくんですよね
かえって時間かかりそうなんで
式入力してボタン1つで下まで完了! みたいなことできないかと

単純そうに見えて実はけっこう難しいのか
986名無しさん@そうだ選挙にいこう:2014/05/01(木) 08:06:00.38
【1 OSの種類       .】 WindowsXP
【2 Excelのバージョン  】 Excel 2007
【3 VBAが使えるか    .】 コピペだけできます
【4 VBAでの回答の可否】 VBAでお願いします。

「有効VBA」と言うシートがあって、4行目以降から、N列の文字が変化するごとに
同じシートの1〜3行をコピーして、コピーした3行を挿入していくVBAをお教え下さい。
987名無しさん@そうだ選挙にいこう:2014/05/01(木) 11:25:48.40
>>977
で、and関数を態々呼ぶのと
そのif〜then変換では
どっちが軽いんだろうな?
988名無しさん@そうだ選挙にいこう:2014/05/01(木) 11:36:28.09
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

自作した表をネット上にアップして公開したいのですが、
htm形式で保存しようとすると、
「互換性のない機能が含まれている可能性がある」との警告が出てきて
アップロードしても表示されません。(自分のPC上ではきちんと表示される)

また、mht形式でも同様で、アップロードしても意味不明な文字列しか表示されません。

罫線と数字のみの簡単な表を作って試してみたのですが、やはり同様で、
PDF保存だと、紙面サイズのせいか収まりきれません。

サーバーはFC2ホームページ(無料)、ブラウザはIE11です。

ご助言いただければ幸いです。
989名無しさん@そうだ選挙にいこう:2014/05/01(木) 11:44:11.38
>>988
文字コードなに?
990名無しさん@そうだ選挙にいこう:2014/05/01(木) 11:45:59.81
画面キャプチャして画像にしてうPしたら
991名無しさん@そうだ選挙にいこう:2014/05/01(木) 12:02:18.00
>>989
ソースには
Content-Type: text/html; charset="shift_jis"
とあります。

ブラウザ側のエンコードも色々変えてみても症状は同じです。

>>990
頻繁に更新するので、できれば画像ではなく
表のままが望ましいのですが……

ちなみに表自体には画像や小難しい計算などは入っておりません。
数字の罫線のみです。
992名無しさん@そうだ選挙にいこう:2014/05/01(木) 12:08:07.84
>>978
b1=a1
b2=if(a2="",b1,a2)
して、b2を下にコピー

または、
b1=lookup(1,0/(a$1:a1<>""),a$1:a1)
してb1を下にコピー
993名無しさん@そうだ選挙にいこう:2014/05/01(木) 12:28:20.12
>>987
実際はその場にifを埋め込んでるわけじゃなく、型変換のための内部関数をいちいち呼んでるからANDの方が軽い
994名無しさん@そうだ選挙にいこう:2014/05/01(木) 12:35:26.36
>>981
元の質問に書いてないけど、VBA不可なの?
VBAなら3万個ぐらい数秒で終わるよ
テンプレはちゃんと使ってね

VBA不可の場合、作業列を挿入して(元のデータがA列、作業列がB列として)
B1=A1
B2=IF(A2="",B1,A2)
って数式入れて、B2を下までコピペ
コピペの方法は、B2をクリックしてコピー、名前ボックスにB3:B30000 (3万行の場合)と入れてから貼り付け
B列をA列に値貼り付け、B列を削除

文章で書くとめんどくさいけど実際は全体で30秒もかからない
995名無しさん@そうだ選挙にいこう:2014/05/01(木) 12:41:08.57
>>988
そのホームページとアップロード済みで開けない表のURLを晒して
996名無しさん@そうだ選挙にいこう:2014/05/01(木) 12:48:47.21
>>986
Sub Macro4()
  Sheets("有効VBA").Select
  Rows("1:3").Copy
  For r = Cells(Rows.Count, "N").End(xlUp).Row To 5 Step -1
    If Cells(r, "N") <> Cells(r - 1, "N") Then Rows(r & ":" & r).Insert Shift:=xlDownDelete
  Next
End Sub
997986:2014/05/01(木) 13:21:21.83
>>986
ありがとうございます。
使ってみましたが、Nの値が変わると空白の行が1行入るだけで
1〜3行のコピーは挿入されませんでした。
998名無しさん@そうだ選挙にいこう:2014/05/01(木) 13:39:29.79
>>997
こうかな?

Sub Macro4a()
  Sheets("有効VBA").Select
  For r = Cells(Rows.Count, "N").End(xlUp).Row To 5 Step -1
    If Cells(r, "N") <> Cells(r - 1, "N") Then
      Rows("1:3").Copy
      Rows(r & ":" & r).Insert Shift:=xlDownDelete
    End If
  Next
End Sub
999986:2014/05/01(木) 14:02:59.36
>>997
ありがとうございます。できました
1000978:2014/05/01(木) 14:26:06.93
>>992
>>994
ありがとうございます
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。