▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・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 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
★ルールを無視すると…
>>1-2 あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ
★1.マルチをしてしまったら…
A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
それが嫌なら初めからマルチなんてしないように。
>>2 にマルチ禁止と書いてあり、
マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。
★2.
>>1 ★4に従わず、必要な情報を出さないと…
A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
これはきちんとルールに従って質問、依頼した人のみの特権です。
★3.情報・条件を後出しすると…
A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
>>1 ★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
長文になってもいいので詳細かつ明確かつ具体的に書きましょう。
★VBAについて
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007以降では16'384列、1'048'579行扱える) ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する ・ 罫線幅の自由指定 ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA) ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整) ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA) ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2010についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007以降ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
会社のPCがOffice2003から2010に変わります。 今まで作ったブック(*.xls)を2010形式(*.xlsx)に変えるには どうすればいいですか?
>>7 別に変える必要はないと思うけど、変えたいなら名前をつけて保存で
拡張子だけでいいなら
拡張子 一括変更
でぐぐってテキトーなソフト使うといい
拡張子だけでいいのか?
xls→xlsxなら拡張子変えるだけでも使えるよ もちろんxlsx→xlsは無理 というかそもそも形式を変える理由がよく分からんけど
剣道小林
>>7 古いPCが残ってなければ、今後はXLSXで作ってねん!
とか張り紙しとけばいいんじゃ
>>7 別に変えなくても、新しいOfficeで古いファイルをそのまま開いて編集でも何でもできる
張り紙www 社長兼総務兼技術兼営業のお前と、専務兼経理兼製造の奥さんなら それでもいいかw
教えてください! EXCEL2010でオートフィルをつかって 商品名 001 商品名 002 と順番にコピーすることは可能でしょうか?
↑ちなみにVBAはつかえないです!
>>15 最初に形式を文字列にして、001と入力
商品名
001
の2セルを選択してオートフィル
ありがとうございます! それが式になってもフィルは可能なのでしょうか? 商品名 =A1 商品名 =A2 でオートフィルをすれば 商品名 =A1 商品名 =A2 商品名 =A5 といったように順番に並ばず飛んでしまいます… 同様に =A1:A2 =A3:A4 =A5:A6 で行なっても飛んでしまうのですが不可能なんでしょうか? 意味のわからない質問ですいません。
【1 OSの種類 .】 Windowsビスタ 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 例えば100という数値をランダムで3つに分けたいんです。 61と20と19といった具合に… 言い換えると合計すると100になるランダムな3つの数字を発生させる方法を教えて下さい。 分ける数を3つから10とかに増やしても対応出来る方法をお願いします。
21 :
名無しさん@そうだ選挙にいこう :2013/08/29(木) 19:56:11.89
>>20 例えば10に分けたとして、その中に同じ数があってもいいのかな?
>>20 A1=INT(RAND()*(100-0+1))
A2〜A5=INT(RAND()*(100-SUM($A$1:A1)+1))
A6=100-SUM($A$1:A5)
あとはA2-A5を削除したり挿入すれば数を変えられる
気に入らない乱数が出たらF9押せばやり直しできるよ
>>23 ありがとうございました。
無事解決いたしました。
25 :
名無しさん@そうだ選挙にいこう :2013/08/29(木) 20:05:56.72
>>22 100から分ける数(3〜10)を考慮すれば分ける数が10の時、
91,1,1,1,1,1,1,1,1,1
という結果になってもokなら、vbaなしでできるよ。
>>25 ありがとうございます。
試してみて思ったんですが、A1に大きい数が入る確率が高くなりませんか?
27 :
名無しさん@そうだ選挙にいこう :2013/08/29(木) 21:17:18.78
>>26 分ける数が3〜10あるのなら、先ずその設定セルを設けてください。
>A1に大きい数が入る確率が高くなりませんか?
なるはずです。w
もしもそれがNGならばvbaにはまるか、
乱数発生制御を試みるか、手動で並び替えしたほうが良いと思います。
>>27 手動で並び替えした際は完全ランダムで分配したのと同じ結果になりますか?
結果が同じなら>>作業列を設けて新たにランダムで並び替えする方法で
>>23 をありがたく採用させて頂きます。
B列にもRANDを用意して、RANKで再度並び替えるといいかもね
ありがとうございます。 その方法を使わせて頂きます。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 Dim ws As Worksheet Dim rngA As Range, rngB As Range, rngC As Range Dim x As Long, LastRow As Long Set ws = ThisWorkbook.Sheets("sheet1") With ws Set rngA = .Range("C1") '基準 x = .Range("A1") '分岐用番号 LastRow = .Cells(Rows.Count, 3).End(xlUp).Row '基準列の最終行 End With If x > 2 Then MsgBox x & "はないよ" Else Select Case x '対象 Case Is = 1 Set rngB = rngA 'C1 Case Is = 2 Set rngB = rngA.Offset(0, 1) 'D1 End Select End If Set rngC = rngA.Offset(0, -1) 'B列に計算結果 rngC = "=rngB + 1" '数式 ←■ここ rngC.AutoFill Destination:=rngC.Resize(LastRow), Type:=xlFillValues '書式なしオートフィル A1の番号で数式の中身を変えたいのですが、これだと数式が=rngB+1となって計算できません。どのように変えれば良いのでしょうか
>>31 うーn曖昧すぎる
多分setの意味があんまりわかってないと思うけど、
要するにセルの内容を使いたいだけ何でしょ
そういう時は
A1=1
x=cells(1,1).value
tokanisitahougaii
toriaezu,a1dakac1dakaninaniganhaitterukawkaaarannkarakotaeyougania
単に rngC.Formula = "=" & rngB.Address(0, 0) & "+1" ってことじゃね?
【1 OSの種類 .】 Windows7-64 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 ググりながら使い方を調べます 【4 VBAでの回答の可否】 可 2行目に、関数やら何やら設定された基本となるデータ入力用の設定があって、 それをその都度、3つだったり10だったりと、3行目以降にコピペしたいです。 手作業だと面倒くさいので、数字を入力してその数の分だけ2行目をコピペしていってくれる・・・ そういう仕組みを作りたいんですが、「その都度数字を入力できる」というのは無理でしょうか?
マクロの記録で 2行目をコピーして3行目に挿入するっていう動作を記録させて ボタン作って、そのボタンにそのマクロを登録すれば ボタン押した分だけコピーが出来るじゃん
それだと2行目を3行目にコピペするだけで、4行目以降にコピペできないので・・・
>>34 Sub Macro2()
'
' Macro2 Macro
'
'
g = InputBox("aa")
Range("A2").Select
Application.CutCopyMode = False
Selection.Copy
Range("A3:A" & g).Select
ActiveSheet.Paste
End Sub
>>37 ありがとうございます、やりたかった事が出来ました!
ボタンもどうにか作れたんですが、一発でやってくれる方がやはり楽でいいですね、ありがとうございました。
39 :
名無しさん@そうだ選挙にいこう :2013/08/31(土) 08:50:17.53
だから何? スレは見てないけどURLがスロット板ってことは、そういうのにハマってる負け組さんかな? そういう奴って、何かが揃ったりするとエンドルフィンやドーパミンがどぱどぱ出ちゃって 嬉しくなっちゃうのだろうけど、一般人からしたら別板で無関係なスレを引張ってくるほど 大層な事じゃないわけよ
自演とか・・・・・
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 マクロの記録の仕方は知ってます 【4 VBAでの回答の可否】 計算方法の手動・自動の切り替えなんですが、 ファイル→オプション→数式 から選ぶ以外に、何かのショートカットキーで切り替わる事はあるのでしょうか? 会社のおっちゃんのExcelが時々手動に切り替わるのですが 本人に聞いてもいじった覚えがなそうなので、何かそういうショートカットがあって間違えて操作してるのかな?と (切替方法を毎回教えても覚えてもらえないので、めんどくさいです)
>>44 数式タブ→計算方法の設定 で切り替える事は出来る。
>>44 Alt+MXMで切り替わる
入力するデータとかによっては、うっかり押してしまう可能性はゼロじゃないと思う
47 :
45 :2013/09/02(月) 11:28:18.45
>>44 ファイルを閉じる時 保存する をクリックしないと作業時自動に変更したとしても次回開くときは手動のまま
ということも考えられる
>>45-46 そんな所に切替があったんだ!全然気が付かなかった
これなら誤操作あるかも…
あと、ソコなら、ひょっとして切替覚えて貰えるかも(淡い期待
>>47 基本的にネットワーク上にファイルがあって、他の人も操作するので
それは無いと…思います…多分
ありがとうございました。
現在Excel2003を使っていますが、さすがにもう古いのでExcel2013を購入しようと思っていますが、 Excel2013をインストールすると今まで利用していたExcel2003は使えなくなりますか? Excel2003とExcel2013のソフトを同じPCで使いたいんです。
>>49 共存は可能だけどあんまり意味がないような…
2003のデータも2013で編集できるし
>>48 複数シートを選択した状態(画面上部に[作業グループ]と表示されてる状態)で保存すると、
次にそのファイルを開くと、手動計算状態(自動再計算しない状態)になります。
画面左下に「再計算」と表示され、そこにマウスカーソルを持ってくると説明が出ます。
>>49 使おうと思えば使えるけど、マジでやめたほうがいい
挙動がおかしくなることはよくある
>>49 >>52 レスありがとうございます!
そうなんですね。
理由は会社のPCがExcel2003で自宅のPCをExcel2013にしようと思って。
会社用にファイルを使う場合はExcel2003を使おうと思ったので。
2003にあって2013にない機能ですとか、逆に2003になくて2013に新しい機能があると2013で作成した
ExcelのファイルがExcel2003で開けるかとか心配だったので。
マクロも使うのでその辺も少し心配でした。
でも2003のデータも2013で編集できるということは本当に切り替えて使う意味なさそうですね。
挙動がおかしくなるということは競合して不安定になるんですかね。
2013使うなら2003は使わないほうがいいという事ですね。
こんな初心者みたいな質問に丁寧に答えてくれてありがとうございます!2003は使わないことにします。
てす
>>53 知らないうちに 2013の新機能を使っちゃって、2003で開けないデータになっちゃうから気をつけてね
データを持ち歩くなら自宅にも2003を入れて確認できた方が便利かも
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 フィルハンドルのダブルクリックをキーボードで操作することはできますか?
>>56 Windowsにそんなマウスをキーに割り当てる機能があったと思う
キーマウスかマウスキーとかなんかそんなの
>>56 使える場面は限られるけどF4でできることもある
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 マクロで、他のブックにリンクがあるブックを複数開いて集計しています。 このとき、更新しますか?のメッセージを出さずに更新させるため、 ググって探したら Application.AskToUpdateLinks = False を書けば良さそうなので冒頭に入れました。 しかし、メッセージは出ないものの、数値が更新されずに開いています。 どこかやり方がマズいのでしょうか?
>>59 そりゃアレだ。メッセージを表示しないだけで更新もしていない。下でいいんじゃないか。試してないけど
「編集」「リンクの設定」「起動時の確認」の
「メッセージを表示しないで、リンクの自動更新も行わない」
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
「メッセージを表示しないで、リンクの自動更新も行う」
ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways
61 :
名無しさん@そうだ選挙にいこう :2013/09/03(火) 20:50:24.95
>>59 application.quit←vbsの終了
thisWorkbook.save←保存
thisWorkbook.close←excel終了
(別コードで)何かを押した時にとかすれば、
自動で保存終了します。
62 :
59 :2013/09/03(火) 20:58:35.23
>>60 ありがとうございます。
今ちょっとエクセルが使えない状況なので、明日試してみます。
63 :
59 :2013/09/03(火) 20:59:37.47
64 :
名無しさん@そうだ選挙にいこう :2013/09/03(火) 21:34:31.16
エクセルに掛け算の結果を返す関数ってありますか?
for createtextfile writeline でテキストファイルに一文ずつ追加していきたいのですが テキストファイルの最後に追加する方法などはありませんか? 一文目に上書きされてしまうのですがどうすればいいでしょうか
>>68 CreateTextFile・・・・これは新しいFileを作れって命令。追記はできない。
というかWSH系はスレチ
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 D列にスレ内改行が入っているセルがあります。 改行だけを全て削除したいのですが、いい方法はありますか? 置換では無理そうでした
>>71 "検索と置換"の 検索する文字列 の窓にその原文中の改行をコピペして置換
>>71 Alt+Enterで入力されるセル内改行コーはCrLfではなくLf。
よって検索文字列に vbLf (または Chr(10) )を指定した置換コードを書けばよい。
>置換では無理そうでした
Ctrl + J で検索ダイアログの検索文字列に Chr(10) をセットできる。
セットしても見た目何も表示されないので正しくセットされたかは実行してみないとわからない。
ちょっとしたコツが必要だが何回か試行錯誤すれば比較的簡単にできるようになる。
74 :
名無しさん@そうだ選挙にいこう :2013/09/06(金) 15:28:17.74
Excel 2007 を使用してます。 データを 1 2 3 4 : : 6000 と、6000行入力すると右端のスクロールバーは小さくなっていきます このあと、6000行のうち3000行は不要であったため削除しても 右端のスクロールバーは、6000行あったときのサイズのままです これを3000行入力のサイズにする事はできませんか? 使用に支障は無いのですが、可能なら空白行は極力見せずにスッキリさせたいのです よろしくお願いいたします
76 :
名無しさん@そうだ選挙にいこう :2013/09/06(金) 15:51:14.45
>>75 すみません。
Ctrl+s で保存して
それから、どうすればいいですか?
申し訳ありませんが、素人すぎて解りません…
削除したあとは保存して開き直す
78 :
名無しさん@そうだ選挙にいこう :2013/09/06(金) 22:52:09.76
カリスマ以外の人は丁寧な回答をお願いします。
エスパーといいたかったんだな
2010だけど、開き直さなくても保存した瞬間にスクロールバーがピョっと長くなるぞ?
82 :
名無しさん@そうだ選挙にいこう :2013/09/07(土) 04:01:46.00
よし
>>76 CtrsをCtrlと読み替えられるぐらいなら
素人すぎってことはないだろ
84 :
名無しさん@そうだ選挙にいこう :2013/09/07(土) 19:05:07.80
XPにて2000使用です 罫線について すでに使っていたファイルを改編していたところ 新しく作り直した領域部分の下に 古い縦罫線が残っていることに気付きました ずーっと下まで古い設定のままです これを消すにはどこをどうしたらいいんでしょうか? 実用上の問題はないんですけど、目障りで・・・ 一旦罫線を全部消してから 再度やり直しですか?
グラフの位置より数値がヒデーなw そっちは気にしなくていいのか?
88 :
86 :2013/09/07(土) 21:43:57.55
>>87 単純にズレを分かりやすくするためのテスト用なのでお構いなく(笑)
(ちなみに10月限C157売り)
グラフがズレてるのか、目盛がズレてるのか・・・?
>>86 メモリの感覚が合ってないからずれて見えるだけ
気になるなら補助メモリ線の上で右クリックして
目盛の間隔を1にして味噌
A1に出勤時間、B1に退社時間を入れて全残業から深夜残業を引いて普通残業を求める式を Webサイトなんかをググって作ってみましたが、もう少し全体的にすっきりしないものかと思い、 お力をお貸しください。 ※通常勤務時間帯は昼休憩1Hを入れた8:00〜17:00です、深夜残業は22:00〜27:00で その他の休憩は扱い上無しになっています =IF(OR(A1="",IF(B1<A1,(B1+1-A1-"9:00")*24,(B1-A1-"9:00")*24)<=0.01),"",IF(B1<A1,(B1+1-A1-"9:00")*24, (B1-A1-"9:00")*24)-("5:00"-MIN("5:00",A1)+MIN("29:00",B1)-MIN(MAX("22:00",A1),B1))*24)
>>91 *24 を外に出してみるとちょっとだけ全体的にすっきりする
俺なら作業列を使う
>>90 おぉ、出来ました!
折れ曲がる手前の実線が15750の線と勝手に思い込んでいました。
勉強になりました。ありがとうございます!
ついでに質問ですが、
例えば、セルA1に任意の数字(範囲としては
>>86 の図のX軸の数字。時間の経過に伴い変動する)があって、
これを図に反映、例えば"13000"だったら、図の13000のところに一本縦に線を引く (もちろん値が変われば線も移動)、という事は出来ますか?
95 :
名無しさん@そうだ選挙にいこう :2013/09/08(日) 00:19:23.10
>>85 そういう構造なんですか・・・大変です(´・ω・`)
>>94 任意のメモリに線を入れるのは無理。
オートシェイプを使うかペイント系ソフトで自分で線を入れるしかない。
>>95 ヒント:形式を選択して貼り付け
>>92 後の集計に問題が出るので*24はそのままですみません
>>93 最初は作業列を使っていたのですが印刷範囲には含める必要がない情報なのと
EXCELのファイルを同じ部署の他人が直接開いて見るケースがあるので
無い方向でお願いします
作業列を別のシートに作るとか
作業列は非表示
>>97 > 後の集計に問題が出るので*24はそのままですみません
?
101 :
86 :2013/09/08(日) 11:16:09.63
>>96 やっぱり無理ですか…。
ありがとうございました。
102 :
名無しさん@そうだ選挙にいこう :2013/09/08(日) 23:10:50.95
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A1…「1」 B1…「空白」 C1…「空白」 D1…「6」 上記のようにA1に「1」、D1に6が入ってる場合に B1に「2.333…」、「C1に3.666…」という数値が入って A1からD1まで均等に「1.333…」ずつ増えていくようにしたいんですが、 今はこのような場合は電卓で「4/3」をして「1.333…」を求めてるんですが、 Excelを使って自動的に均等分布させる方法はありませんか?
>>102 なんで1.333で均等になるのかわからん
1.666の間違いだと仮定して、
B1に入れる式 =A1+($D1-$A1)/3
B1をC1にコピー
これでできる
もうちょっと訂正 B1=A1+($D1-$A1)/(COLUMN($D1)-COLUMN($A1)) の方がいいかな
>>103 すいません。
1.666の間違いでした。
セルの数値や行の間隔が変わっても簡単に対応できる方法はありませんか?
>>104 ありがとうございます。
素晴らしい式です。
感謝感激です。
>>102 A1:D1選択→フィル→連続データの作成→増分値:1.666666666と値が入っていることを確認→OK
で出来ます
108 :
107 :2013/09/09(月) 02:54:42.22
数字の入ったセルが二つありその間に空白のセルがある時にその空白セルに均等に数値を入れたい場合
>>107 が簡単に入力できます
2003の場合フィルは
「編集」→「フィル」
で出てくる
※(ちなみに2007以降は「ホーム」タブ→「フィル」 と操作が変わる)
ありがとうございます。 増分値はは電卓を叩かないとやはり出ないんでしょうか?
110 :
109 :2013/09/09(月) 03:56:24.51
あ…
>>109 はスルーしてください。
勝手に数値が入るんですね。
本当にありがとうございました。
素晴らしい機能ですね。
【1 OSの種類 .】 Windows 7 Pro 【2 Excelのバージョン 】 Excel 2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 エクセルで財務諸表を作っています。 見本を見ながら手打ちしてます。 ページ下部中央に「ー1ー」とページ番号を振りたいのですが、 セル部分にそう入れると数式と認識されて今います。 フッター部分に入れるページ番号だと「−1ー」の体裁が選べません。 「−1ー」を数式と認識させず、そのまま表示するにはどうしたらいいでしょうか?
>>112 セルの書式設定を文字列にしておく方法でうまく出来ました!
ありがとう。
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 現在、INDEX(A1:A23,MATCH(B1,DG1:DG23,0),1)という書き方で表内の参照をしてるんですが ちょっと冗長な気がします 簡略化する方法はないでしょうか? VLOOKUP(B1,A1:DG23,4,0)だと、式自体は簡潔なのですが 今度は参照のためのキーであるB列自身を走査してしまうし、 この式では全く使わないC1〜DF23が無駄に走査されてる気がして ちょっと困っています
>>114 名前の定義ぐらいしか無いし、特に殺る意味もない
vlookupは気のせいじゃなく実際その通り、重くなる
>>115 ありがとうございました
名前の定義をしてみます
117 :
名無しさん@そうだ選挙にいこう :2013/09/09(月) 18:58:05.07
90時間15分という意味で9015ってセルに入っているんですが、これ十進法的に変換するにはどうすればいいですか? つまり上の例だと90.25時間としたい。ちなみにマイナスのときもあります。ご教示いただければ幸いです
下二桁をrightで取り出して60で割ってtextでフォーマットして、残った左はleftとlen-2で取り出して、ピリオド挟んでくっつけりゃいいんじゃねーの
119 :
名無しさん@そうだ選挙にいこう :2013/09/09(月) 19:52:19.04
VLOOKUPの質問です。 E列を文字列にし、次のように入れます。 E1 12345 F1 あああ B1に =VLOOKUP(A1,E1:F2,2) といれて、A1に 12345 と入れると #N/A になってしまいます。 このとき、A1に '12345 と入れるとB1が あああ になります。 A1の数字が数値でも文字列でもVLOOKUPできるようにするにはどうすればいいですか?
>>117 =QUOTIENT(A1,100)+(SIGN(A1)*RIGHT(A1,2)/60)
>>119 だからlenで数えた文字数-2なんだろ
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 セル内改行がある表をコピーしてテキストエディタに貼り付けして、 テキストエディタでデータ編集後にコピーしてExcelに貼り付けて戻したいのですが、 セル内改行の部分がうまくExcelに貼り付けることができません 何か方法はないでしょうか
>>120 うーん
=VLOOKUP(VALUE(A1),E1:F2,2)
か
=VLOOKUP(a1*1,E1:F2,2)
だけど、E1が文字列でA1が数値という場合は逆に使えない
>>124 1セルだけなら、セル選択してF2押して数式バーに貼り付け
複数列、複数行ならcsv形式で出力という方法はどうだろうか
>>125 参考になりました
ありがとうございます
127 :
名無しさん@そうだ選挙にいこう :2013/09/10(火) 20:12:48.88
あるセルのフォントで使用されてる色コードを教えてくれる関数はありませんか? A列が赤のフォントで文字が入ってて B列に=COLOR(A1)みたいにすれば色コードがB列に表示される、みたいな。
馬鹿かこいつ
イヤミだろうな 意味ないけど
キングソフト2013でspecialist2010の練習ってできますか?
133 :
名無しさん@そうだ選挙にいこう :2013/09/11(水) 20:44:58.15
助けてください、おながいします 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 関数はちょこっと扱えるんですが、 何をどう使えばいいのかわからなくなってしまいますた 購入月日 単価 個数 合計 品名1 品名2 品名3 ・・・・品名8 という項目で、 買った文具や備品がだーっと入ってる原始データみたいな表があります 品名1はメーカーで、品名2以降は種類です (三菱 uni 替え芯 10本入り 10パック みたいな) この表から、 無駄がないかどうかをチェックできるようにしろと、そんな指示です 何をどのくらい買っていて、 どこが無駄で、どのようにすれば無駄をなくせるのか、 それを説明できる表にしないといけないです COUNTIFを使ってみたりしますたが、 月に何を何個買ってるかがわかる程度で、 要求に答えられるような表になっていませんorz
>>132 できるだろうけどやめたほうがいいと思う
細かいところで挙動が違うと鬱陶しい
>>133 えらい無茶な問題だな
とにかく
・どこが無駄
これが何を持って無駄というのか
為替差損益や減耗損が発生してないなら、おそらく
発注回数
在庫
この二点だと思うけど、適度に在庫があればそれでいいと思う
もし大量購入すれば単価が下がる品があるなら、それは勝手にリストアップなりなんなりで勝手に解決してくれ
無駄と言うからには在庫が多すぎるものがないかチェックしろということじゃないのか 購入数だけ調べたところで在庫数はわからん 出庫数がないと
>>136 こんなものがあったとは
教えてくれてありがとう
>>134 お返事ありがdございます
そうなんです
つまり「必要がないのに買ってないかどうか」、に尽きると思うんですが、
自分は発注も在庫管理も全く関与おりませんので、
そこが全くのブラインドなんです
単に購入時のデータがあるだけという…
ポイントは個数と発注回数だろうかとは思ったんですが、
これ、合体させてひとつの表でわかるようにするにはどうしたらいいでしょうか
大量購入はほとんどないと考えていいようです
紙くらいですかね、まとめ買いするとちょっと安いようですが、
これは除外して考えていいようです
よろしくお願いします
そんなときはQC7つ道具を活用して分析すりゃいいんじゃね
【1 OSの種類 .】 WindowsXP/Vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 業務書類作成用のマクロを含んだファイル(.xlsm)について、 閲覧者を限定するために「名前をつけて保存-全体オプション」から 読み取りパスワードを設定しました。 その後そのファイルを再び開いてから「マクロのセキュリティ」で マクロを有効化しようとしたところ、 「マクロを検査するウィルス対策プログラムが無いためマクロを有効にできません」 と表示されてマクロを有効にできなくなりました。 .xlsmでマクロを有効にしたままパスワードを掛けることはできないのでしょうか? XML暗号化ではなく旧来の.xlsにするしかないのでしょうか?
>>134 ,139 横から失礼します。
ムダをどう判断するかのひとつの材料として、同じものを何度も小分けで買っていないか、というのがあります。
まとめて買えば割安で買えるのに、その都度必要な分だけ割高で買っていればムダと判断できる。
品名1、2、3で並べ替えたら、そういうことの判断材料になるんじゃないかな。
ただし、ソートキーの優先順位をよく考えないと・・・
替え芯 などの品名を先頭にしないと、他メーカーの替え芯も買ってても並びません。
>合体させてひとつの表でわかるようにするには
購入データのファイルやシートが複数あるのなら、まずはひとつにまとめるのが先だと思う。
品目の分類毎にファイルやシートを分けてもいいけど、○月分と△月分のデータが別々だと
並べ替えても意味がない。ひとつの表にまとめて品目で並べ替えれば、同じものが集まるから
その行数が同じ品物の購入回数ってことになる。
単価の欄を見比べれば、安く買ったときと高い買い物したときの違いがわかる。
>>139 備品をパクってる奴がいないか、とかそういったことを調べたいんだと思う。多分な
俺なら〜〜〜
備品の現在の量を見る。在庫が辺に多くなければok
多ければそれを報告
あとはピボっとテーブルを作り、月ごとの発注量の変異を見る
(本当は消費量がいイイんだろうけど、どうせ月ごとの在庫数なんて残してないから不可能だろう)
それを各備品ごとに出し、グラフにすればok
どうせ変なところもないので終了
145 :
名無しさん@そうだ選挙にいこう :2013/09/12(木) 11:53:30.85
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 料金表をエクセルで作ったとして、出発地と目的地がわかればindexとmatchなどで料金が検索できると思うんですが、 出発地と料金から目的地を検索するにはどうすればよいのでしょうか?
>>145 シートを一度作ってもらわないとなんとも言えない
あんまり作る意義が感じられないが、まぁそれはいいか
>>145 同様にINDEXとMATCHで該当する数値を抽出すればいいだけじゃね
使う値が違うのと、結果はその行(列)の一番目にするだけ
あとは同じ料金が存在した場合の複数表示処理とかかな
山形 宮城 岩手 秋田 青森
東京 1000 2000 3000 4000 5000
京都 2000 3000 4000 5000 6000
大阪 3000 4000 5000 6000 7000
149 :
145 :2013/09/12(木) 18:15:01.38
>>146 シートを作るというのは148さんような表の例と言うことでしょうか?
>>148 わかりやすい表をありがとうございます。例えばその表がA1:F4で入っているとして
秋田と5000から京都という結果を得るには関数をどう作ればいいですか?
indexの行指定が秋田の場合と岩手の場合で変わってくるのでわからなくなってしまいました…
みなさんありがとうございます、
>>139 です
今日ピボットでちょこっと様子見てみますた
そしたらあれですね、コピー用紙ですね
まとめて買ってる部署もあれば
コマコマと分けて買ってる部署もありとか、
そんなのが見えてきますた
あとアレですね、ボックスティシュとか買ってるんですが
俺からみりゃそんなモンは個人で買え個人で!とちょと思ったり
とりあえず昨日よりは何とか、
見えなかったものが見えてきますた
あとはソートですね、品名の列を合わせるようにして、
再度やってみます
何よりも、部署ごとに事務担当のお姉さま方が、各自発注してるのがモンダイだと思うんですがね・・・トホホ
まずはご協力・アドバイスありがとうございますた
みにくいなw
152 :
名無しさん@そうだ選挙にいこう :2013/09/13(金) 11:08:12.85
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 エクセルファイルを新規作成した際に、毎回余白の設定をするのがめんどいので デフォルトの余白設定を変えたいのですが、どうすればいいのでしょうか?
相談なのですが、エクセルの試験を随時受けるにはまずMOSサイトでID、パスワード登録が 必要らしいのですがMOS公式サイトを見ても登録するような部分がみつかりません。 どこにあるのでしょうか?
>>155 です。
よくチェックしていたら見つけられました。
申し訳ありません。
157 :
名無しさん@そうだ選挙にいこう :2013/09/13(金) 19:30:34.61
どうにもあと一歩で解決できそうなのですが、どうしても解らず困っております。 お知恵をお貸しください エクセルのバージョンは2002 OSはWIN7です。 VBA処理×です。 1、各シートは日別に 配車表 配車表(2) 配車表(3)・・・と配車表(31) まであり 最後に実績表というシートの32枚があります 2、日別の配車表シートにはセルに名前の定義(複数セル間)をつけてあります <例>山田件数 山田重量・・・ 3、実績表シートは、縦に日付、横にスタッフ別で一覧の実績表となっており <例> 山 田 佐 藤 本田 件数 重量 件数 重量 件数 重量 1日 3 100 5 140 4 160 2日 ★5 120 3 65 8 200 3日 このようなレイアウトになってます で、例えば実績表シートの2日の山田さんの件数のセル(★のところ)に =SUM('配車表 (2)'!,山田件数) と入力して配車表(2)の山田さんの件数を ひっぱってきて表示させたいのですが、 「入力した数式は正しくありません」とエラーメッセージが出てしまうのです。 何か必要な記号なりフレーズが入っていないと思うのですが、どうしても 解らず、お知恵をお貸しください。よろしくお願いいたします。
158 :
名無しさん@そうだ選挙にいこう :2013/09/13(金) 19:50:41.39
>>157 配車表のシートは、配車表に名前の定義を入れて30枚シートをコピーしました。
>>157 名前の定義には、セル番地とシート名も含まれるはず。よって、
SUM('配車表 (2)'!,山田件数
ではなく
SUM(山田件数)
だけで良いのでは?
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 A1〜A3にそれぞれ100、200、300と入れ、A4に=SUM(A1:A3)が入ってるとき、A4は600になります。 2行目を非表示にしたら、合計値を400にするにはどうすればいいですか?
>>160 A2〜A4に、100,200,300
フィルタで非表示でいいなら
A5:=SUBTOTAL(9,A2:A4)
とすれば、表示してるものだけSUMする
162 :
名無しさん@そうだ選挙にいこう :2013/09/13(金) 22:30:48.82
>>159 回答ありがとうございます
>>SUM(山田件数) だけで良いのでは?
↑ですと配車表のシート(○月1日の分)の山田さんの件数が参照されてしまいます
163 :
名無しさん@そうだ選挙にいこう :2013/09/14(土) 02:55:24.25
>>162 =SUM("山田件数")でもダメなん?
てか、配車表ごとに合計出してないの?
それなら実績表のセルで=入力してから入力確定せずに
対象日のシートの合計セルをクリックしてEnter押せば
目的果たせると思うけど
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 任意のセルをクリックすると、そのセルが指定した色になるようにしたいのですが、 どのようにしたら良いのでしょうか? テーマの色と標準の色にない色(R200、G200、B45の黄色っぽい色)です 会社のイメージカラーらしくて単なる黄色だと上司が文句言ってくるので・・・ 範囲はsheet全体を希望しますが、回答内容によっては重くなる可能性があるのでA1:DZ300くらいでも問題ありません
>>165 選択してるセルってこと?
選択が終わったら白に戻るの?
167 :
165 :2013/09/14(土) 10:18:42.84
>>166 単なるクリックでは他の作業と被ってしまいますね・・・
Ctrlなどで複数選択したセル、現在囲っているセルでボタンを押すと
指定した色になるマクロでお願いします
プリントしたりモニタの設定によっては違って見えるだろ!
と突っ込み入れたいのですが、上司が色弱らしくて色を数値でチェックしているので適当に出来ないんです
169 :
165 :2013/09/14(土) 12:19:20.73
>>168 ありがとうございます
>.Color = 4000520
4000520の部分はRGB(200,200,45)でも行けるようですね
関数はググれば結構分かるもんですが、マクロに関してはプログラムの意味について理解してないと無理っぽいですね
一から勉強してみます
学生時代にベーシックを齧ったのが役立つか否か・・・
171 :
160 :2013/09/15(日) 12:21:55.84
>>161 オートフィルタは使いたくないので、行の非表示なんですが・・・
無理ですかね?
>>171 =SUBTOTAL(109,A2:A4)
で
173 :
160 :2013/09/15(日) 20:47:57.72
Excel以前にpcド素人です 困っています、どなたか助けてください OS:win8 Excel最新版 VBAが何か分からない… セルの背景に色を付けて、ファイルの種類をhtmlで保存してネットで開いて確認すると、セルの色が消えているのです どうすれば色が表示されますか?
Javascriptを許可?
htmlで使える色って決まってなかったか
【1 OSの種類 .】 Windows8 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 調べてわからなければ、もう一度聞きます ExcelのVBAの質問です。 rei001、rei002は実行できます。 rei003はエラーが出ます。 エラー内容は、実行時エラー1004 アプリケーション定義またはオブジェクト定義のエラーです と出ます。 エラーの原因、対処がよくわからないので、お願いします。 コピーした行や列を挿入するのが面倒で、 VBAでやろうとしてハマっています。 以前にも変数を使って(○○&”:”&○○)で ハマったことがあるのですが、そうではないような気がします。 標準モジュールで、Option Explicit と書いています。
Sub rei001() Dim R1 As Long Dim R2 As Long R1 = 1 R2 = 2 Rows(R1 & ":" & R2).Select End Sub Sub rei002() Columns("B:D").Select End Sub Sub rei003() Dim R1 As Long Dim R2 As Long R1 = 1 R2 = 2 Columns(R1 & ":" & R2).Select End Sub
>>174 状況が曖昧すぎて多分回答は出ないと思う
html勉強してベタ書きしたほうが早いと思う
>>177 列の指定方法が間違っている
Columns(2).Resize(, 3).Select
か
Range(Columns(2), Columns(4)).Select
みたいにかく
>> 178 > R1 = 1 > R2 = 2 > Columns(R1 & ":" & R2).Select これ Columns( "1:2" ).Select になることは、理解できてる?
>>176 ,
>>181 red とか silver とかの名前で指定する時は決まってるけど、RGB の値なら大丈夫。
一部のブラウザでは近い色に勝手に変換されて表示される場合があるけど 指定するだけなら1600万色いける
うん、ドット絵画ができるからね。
矢木に 電流走る―――!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 A B C D E F 年 月 日 価格 数量 合計 2013 9 10 100 5 500 2013 9 12 100 3 300 2013 10 5 100 6 600 上記のような表で「A列が2013年かつB列は9月」に合致する行の合計の値を抜き出し、 ひとつのセルに合計したい場合、どういう式を使えばいいでしょうか。 ・A列、B列は全体(A:A)(B:B)から検索して選択したいです(表を下に延々と伸ばしていくので) 今まで試した関数は SUMIF(条件が1つだけなので無理でした) DSUM(検索する入力セルを用意しなければならず断念) SUMIFS(2003では使えないようです) 条件付き合計式ウィザード(インストール出来ませんでした、officeサポートページも無し)
>>187 =SUMPRODUCT((B3:B10=9)*(F3:F10))
>>188 >>189 素早い回答ありがとうございます
SUMPRODUCTは関数が入ってるセルの値を0と見なしてしまうようです
F列に関数が入っているため0と返ってきてうまくいきませんでした
ピボットテーブルは他シートとの連動が難しいようです
もう少し試してみます
>
>>190 いやいやいや
関数であれなんであれ最終的には数値と身なSう。
結果ががおかしいぜ。
1行ずれてね?
解決しました SUMPRODUCTで選択できる配列は2〜30個までなので、 大量に選択しようとして失敗していたようです ありがとうございました
195 :
190 :2013/09/19(木) 06:31:51.79
すんません。ABCとはいった行も入れてました。申し訳ない
今Excel2003を使っています。 一般的な関数は問題なくてVBAが多少使える程度です。 今後の事を考えて2003以外のバージョンを勉強しておきたいのですがどのバージョンをやればいいですか? wikiを見る限り2007、2010、2013とあるようですが新しければ良い、というものでは思っています。 現場とかだとまだ2003を使ってるところが多いですし… これがいいよーというのがあれば教えてください。
>>196 2007と2010会社で使ってるが2010の方が使いやすいと感じてる。2013は知らん。
でも新バージョンでそこまでダメダメになる事はないんちゃう?俺なら迷わず最新の買うわ。
とりあえず関数多用するなら絶対2003には戻れん。
新しい関数、テーブル、構造化参照使い出したら2003で関数使うのすげー面倒くさい。
自分で関数使わない、表とか書類作成に使ってる人は大概2003に戻ってる気がする。
最新バージョンつかう以外の選択肢はないよ
>>196 枯れた技術〜とかいう考え方もあるけど、2013でいい。深く考えずに新しいのでオッケ〜。
まぁ出て一ヶ月ぐらいはセキュリティーホールとかよくあるから様子見した方がいいけどね。
新しい関数はいつ導入されてるかも覚えてると尚good
最低でも2007のりボンには慣れておいた方がいい
2013はいブック1ウィンドウで開くから、それが我慢できないなら2007 別にいいなら2013以外選ぶ理由がない
2013でいってみます ありがとー
どういたしまして
がんばってねー
>>200 > 2013はいブック1ウィンドウで開くから
そうなんだ。
て言うか、やっとかよ。
2010 使ってるけど、2013 にするかな。
> 2013はいブック1ウィンドウで開くから 誰か標準語で翻訳してくれ!
206 :
ぴぴ :2013/09/21(土) 06:32:50.62
つまり はいブック1ウィンドウ ってことだよ
>>205 1シートのことじゃないの
考えたらすぐわかると思うけおd
そういえば2010は、ブックを複数開いてるとタスクバーには開いているブック数出るが、ウインドウは実質1コだな。 2007もだっけ。これ意外に使いづらいんだよな。2013いいかもしれん。
211 :
名無しさん@そうだ選挙にいこう :2013/09/22(日) 14:42:39.51
Excel2003を使ってるんだけど よく使う関数を素早く呼び出す良い方法ってありませんか? 最近使った関数はすぐに上書きされるし、一部リストに載らない関数があるので困っております。
>>211 fxマーク押せば最近使用した関数というのが出てくるじゃん
>>212 最近使った関数はすぐに上書きされるし、一部リストに載らない関数があるので困っております。
辞書登録とかどうよ
>>211 [F2]→[=]→関数名 と打ち込めばいい
1秒ぐらいで入力できるから十分素早いと思うよ
よく使う関数ならすぐ覚えるやろ? まれにしか使わない関数をサクっと探したいと思う事はあるけど。 それかブラインドタッチできないぐらいタイピングが苦手とかか?
match()、rand()辺りは微妙にスペル忘れることもあるからなー、気持ちはわかる 余分な操作を増やすよりかは辞書登録がいいと思う Q辺りで登録すると良いかも。できるか知らんけど。
2003なんてもーすぐサポートが切れるんだから、サッサと2007以上にしる そーすればスペルがうろ覚えでもエクセルちゃんが手助けしてくれる
スペル星人
スペルマシン
222 :
名無しさん@そうだ選挙にいこう :2013/09/24(火) 00:48:31.88
会社でExcelをワープロのようにA4書類を作るために使ってる人がいるのだが それをやめさせる方法をみんなで考えないか?
無理 Wordがクソ使えない時点でExcelの代わりにはならない
Wordの文章にかんたんに数式埋め込んでつかえたらいいんだが ときどきやるけど参照数が多いとめっちゃ遅くなる
225 :
222 :2013/09/24(火) 00:55:25.70
というかクソ社員がWord様の使い方を知らないからA4書類を作るためにクソExcelを使ってるんじゃないか?
あとWordのVBAめんどくさい
Excelでも書式やシェイプをいじるプロパティは種類も文字数もやたら多いしな Wordは基本的に計算抜きで書式いじりばっかりだから余計に面倒に見える やりたいことは単純なのに
▼━質問テンプレ (必ず使ってね) ━━━ 【1 OSの種類 .】 Windows8、MacOSX 【2 Excelのバージョン 】 Excel2010 (97くらいまでの過去バージョンについて知りたい) 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excel2010ではif(A5="*",A3,0)としたばあい、A5の内容が全角*でも半角*でも、 自動的に*として認識してA3を表示しますが、これは過去のバージョンのExcelでもそうなのでしょうか?
Office2013ってライセンス1つ? さらにそのpcと紐付けたら2度と他のpcと紐付けできないと読んだんだが…
>>222 俺は定型書類の100%をExcelで作ってるけど何か悪いことでもあんの?
Wordだと勝手に改行したり、勝手に段落つけたり、お節介機能が多すぎる。
見積書だと数式の扱いも厄介だし、罫線も引き難いし、行間隔設定も煩わしい。
ただ、業務レポートとか昇進昇格用の論文とか文章を中心に書く書類はWordだが。
「ワープロのように」って時点で多分論文しか想定してないんだろう>書類 最近は印刷前提だとパワポ使っちゃうトコもあるけどw
小説みたいなシーケンス物はwordだろうけど、定形型1、2枚物ならexcelのほうが標準化されて見えるね。
234 :
名無しさん@そうだ選挙にいこう :2013/09/24(火) 22:16:31.71
WIN7 EXCEL2002 マクロは否です セル名前の定義ですが、EXCEL2002って参照するセルの個数に限度って あるのでしょうか? 二行を結合したセルを、とびとびで30箇所のセルを参照して 名前付けを行いたいのですができないのです。 A B C D E F 1 2 5 6 9 10 例えば上記のようにA1とA2を結合したセル、B5とB6を結合したセル、F9とF10を結合したセル のように、ランダムに30箇所位のセルを1つの名前の参照先にしたいのです。 どなたかお知恵拝借させてください
>>231-233 印刷するモノはエクセルには向いてないような。
いつになったら画面通りの印刷ができるようになるんだか。
2013だと改善されてるのこれ?
Officeの中でもExcelは特にプリンタドライバに影響されるから 一度なにかしらのPDFドライバでPDFにして、画面で確認してからそのPDFをプリント それをとっておけばあとから追加プリントするのもらく
MS-Officeの「pdfで保存」ってacrobatで作るのに比べて、妙にでかいしwmfの図形が消えるときあるな。 会社ではacrobatなんて高いモン買ってくれないから、 pdfで保存したときは全ページ目視確認だよ。逆に人件費かかってるっての!
>>237 会社は君の人件費のほうが安いと判断したんだろ…
>>235 いつになったら思い通りの印刷ができるようになるんだか。w
240 :
名無しさん@そうだ選挙にいこう :2013/09/24(火) 23:57:45.49
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 Excel2010で作成・保存したファイルをExcel2007で開くことはできますか 自分なりに調べた限りでは、ファイル形式が同じなので特に互換パッチとか 必要なく開けるように思いますが、この認識で合ってますでしょうか
形式が同じなら互換性はある
>>237 仮想PDFプリンター使えよ…
無料だぞ
>>242 勝手にソフト入れると監査で引っかかるんだよ。
それにフリーウェアはよほど実績のある奴しか申請が通らない。
そんな環境でPDF使うなよ…セキュリティに問題あったろうに
246 :
名無しさん@そうだ選挙にいこう :2013/09/25(水) 09:55:54.68
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 ウィンドウ オプションの 改ページを デフォルトでオンにする方法はありますか?
>>246 xlstart 2007
でぐぐっておくれ。これがデフォルトのファイル
エクセル2010の対策テキストと自動採点模擬テストのソフトを使って勉強しようと思い、 ソフトやファイルはダウンロードしてあって自動採点模擬テストを使おうとしてCD-ROMを入れると 「プログラムを一旦終了して、Internet Explorerを終了してください」と表示され機動できません。 ですがインターネットエクスプローラーは閉じてると思うのですが、解決方法はありますでしょうか?
Excelとバッティングしてない? とかかね 起動したことないから本人にもわからないだろうけどこっちも分からない
【1 OSの種類 .】 Windows 8 【2 Excelのバージョン 】 Excel 2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 シートが増えてきたので下に表示されているシートの表示を2行に増やす方法はありますか
ありません
HTMLのタブ表示じゃないからなぁ…
>>257 ブラウザのタブ二弾表示ってことでしょ
そんあkぽまかくつっこまなくても
>>258 いやマジで意味わかんないし
XMLならともかく、どう考えてもHTMLとか無関係
タブコントロールが多段対応になってるかどうかはライブラリ次第だけど
プロパティで殺してるだけならリソース書き換えで多段にできるかも
>>259 分からんでもいいんじゃね?
インターネット=ヤフー≒グーグル≒HTML?≒クッキー?
みたいな階層構造の方々の頭のなか走ってても仕方ないと思う
何とかドーナッツやら専ブラの多段表示だろう。ついでに言うと俺も深く考えてないぞ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 A1〜A15までの内容を確認して、全部が0ならA16を""(何もなし)に どれか1つでも数値が入っていたらA1〜A15までの全合計をA16に表示したいのですが =if(sum(a1:a15)=0;"";sum(a1:a15))としてしまうと 例えばA1に5、A2に-5が入っていたら、A1A2に数値があるにもかかわらずA16が""になってしまいます 何かいい条件文はないでしょうか?
261ですが、自宅で使うLibreの癖でLibreの式書いちゃいました =if(sum(a1:a15)=0,"",sum(a1:a15))としてしまうと です
絶対値のSUMをとるとか最大値と最小値が0でない事を判別するとか
>>263 ありがとうございます
max、minを条件式にしてみます
=if(and(max(a1:a15)=0,min(a1:a15)=0),"",sum(a1:a15))
・・・うーん、もうちょっと簡単にならないかな・・・
=IF(COUNT(A1:A15),SUM(A1:A15),"") 配列数式でもなんかできるかもしれないけど眠い
あるいは「数値が0でないセルの個数を数える」かな。 =IF(COUNTIF(B2:B5,"<>0")>0,sum(a1:a15),"") とか
267 :
261 :2013/09/28(土) 02:48:49.22
Office2013って自作PCに入れたらライセンス的に面倒になる? マシンとセットになるから作り直したらもう使えないイメージだけどあってる? ライセンスの移動できるといいんだが… ボロマシンだから長持ちしないと思うんだよね
DTP版だっけ ライセンスはパーツにバンドルされる パーツならなんでもいい 今ならUSBリーダーかDVDドライブ辺りと一緒に買えばok
DSP
それそれ
272 :
名無しさん@そうだ選挙にいこう :2013/09/28(土) 12:27:26.66
オレオレ!
マ・ツ・ケ・ン・サン・バ♪
条件付き書式についておながいします 【1 OSの種類 .】 WindowsXPと7 【2 Excelのバージョン 】 Excel2003と2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 A1 10/1 10/2 10/3 ・ ・ ・ 11/1 となってまして、毎月、月一で指定した日が入った時に色つけたいんですが、 条件付き書式で日にち指定する時って、 10/1=41548みたいな、シリアル値?ですか、これしか受け付けないんでしょうか。 なんか毎度空白セルでこの、41458を確認しないとイカンのが超煩わしいス。 色つけたい月日はだいたい10日前後の1日だけなんですが、 土日に当たると10日じゃなくなるんで、条件付き書式でやってますた。 関数でどうにかなるようでしたら、教えていただければ幸いです。
↑すんません、PCが2台あって、片方がXPで2003、もう1台が7で2010です。 どっちのPCでも入力作業がありますです。
指定はどこでするんだ?
>>276 A1行だす。
あ、どっちのPCでいじるかってことですか?
2010の方でやってることが多いす。
たまに2003でやることもありますけども。
A1に日付を入れるのか? もう少し詳しい指定方法と 今書いてる条件付き書式を書いてみ
指定するのが「1」なのか「10/1」なのか
>>278 10/1 本田
10/2 長谷部
10/3 中村
10/5 柿谷
10/5 香川
10/8 吉田
10/10 内田
10/10 駒野
10/13 乾
10/15 宇佐美
という感じで、1日1行とは限らんです。
で、10/10があれば黄色くしたい、というような、そういう表です。
条件付き書式は単純に、A1からA500くらいまでを範囲指定して、
「次のセルのみを書式設定」のところで、
プルダウンで、
セルの値・次の値に等しい・=41589 って入れてます。
で11月になると(表は1年間ずっと、続けて同じシートっす)、
今度は11/10のシリアル値を入れる、とそんな感じで使ってますた。
>>279 指定するのは日付ス。
10/1は10月1日です。
厳密には日付の書式のユーザー設定で(aaa)くっつけて10/1(火)って出てます。
やりたいことはだいたい分かった 基本的に毎月10日だけど、そうじゃない日もあるので自分で指定していたと。 条件分けしてもいいけど、今やっているのに近いやり方で一番シンプルなの A列:日付 2013/9/28 2013/9/29 .. B列:名前 例えばC列:色を付けたい日 2013/10/10 2013/11/11 2013/12/10 .. として、A列の条件付き書式を 数式 =MATCH($A1,$C:$C,) とすれば指定した日に色がつく
>>282 おおおおおできますた!!
つたない説明まで組んでもらえて助かりますた。
この方法で早速やっていきます、ありがとうございますた!
ちなみに、土日なら翌 月曜ということであれば A列の条件付き書式に =OR(AND(DAY(A1)=10,WEEKDAY(A1,2)<6),AND(OR(DAY(A1)=11,DAY(A1)=12),WEEKDAY(A1,2)=1)) でいけると思う
>>284 そうスね、
10日が土曜→12日(月)になります。
10日が日曜→11日(月)なります。
ちょとその式も入れてやってみます。
ドキドキ
>>284 3月まで試しに条件付き書式入れてみますた。
大成功ですた!
これでいちいち毎月シリアル値を確認して変えなくも済みますし、
年頭にシートコピーするだけで片が付きますです。
どっちの方法にしようかちょと考えますたが、
二つ目の方が作業列不要なので、こちらで行こうと思います。
詳しくどうもありがとうございますた!
しかしこんな長い数式はカレンダー以外ではほとんど作ったことなかったスw
EXCEL 2010の吹き出しですが、新規に配置して中にテキストを書くとき、 1.吹き出し選択する 2.右クリックする 3.「テキストの編集」までカーソル移動する 4.左クリックする といちいち4ステップ必要です。 2003までは 1.吹き出しの中をクリックする の1ステップでテキスト書けたんですが、何かインストール失敗とかしてるんでしょうか? ついでにうちの2010で図形をダブルクリックしても何も起こりません。 2003まではたしかプロパティが開きました。 ダブルクリックとかwindowsの基本的な操作に何も動作割り当てられていないのも おかしいと思うので、何かインストール失敗とかしてるんでしょうか?
>>287 コメントのこと?
コメントの表示/非表示
ダブルクリックでは何も怒らないね
図形の吹き出しのことだろうけど むしろこれまでが親切すぎたんだよ
なるほど、そんなものがあったとは。 今まで操作出来てたところが無反応になると気持ち悪いな。
今まで親切すぎたから新しいバージョンで 不親切にする理由はなに?
>>291 クラスの再設計時に追加し忘れただけでは
MSに聞いてくれよ
>>291 図形関係はようやく統合し始めてるから、色々退行するところもあるんじゃないかな。
図形内のテキストのコピペとか いつの間にかパワポみたいになってるしな デフォルトで白とか誰が望んだんだ…
287ですが、
>>294 すばらしい、あなた天才
カーソルが出てないのに文字が入るとは思わなかった
これでちょっとましになります
ただ不自然な動きには感じますが
ワロタ。これは盲点だったわ
298 :
261 :2013/09/30(月) 12:41:47.94
【1 OSの種類 .】 WindowsXP〜8 【2 Excelのバージョン 】 Excel97〜2013 【3 VBAが使えるか .】 いいえ (むしろ使うと不具合) 【4 VBAでの回答の可否】 否 (むしろ使うと不具合) Excelには、フォームコントロール機能でチェックボックスをシート内に作ることが出来ますが、このフォームコントロールを使うと、下記の不具合がおきます @97など古いExcelで同じファイルを開きなおすと、「攻撃性のあるスクリプトの可能性」エラーが出て、「本当に開きますか?」と聞かれるので、非常に面倒であり邪魔 A新しいExcelで開くと、同様に「危険な可能性」エラーが出て、こちらは「読込のみモード」で勝手に開かれ、シートを編集出来ない BOpenOfficeで開くとエラーは出ないが、Calcのバグでフォームコントロールの位置がおかしな位置にずれ、まともに使えない 当然、設定の変更で、ダイアログを出さない、読み込みモードにしないことも出来ますが、 それはあくまで自分ひとりだけが使う場合であり、同じファイルを、他の人が他のPCで使う際、エラーや不具合がでます 一応、一時期、readmeを作ったり、メールを送ったりはしたのですが読む人はほとんど居なく、こんな詰まらない事で毎回エラー回避法を聞かれる始末 そこで現在は、フォームコントロールのチェックボックスではなく、セルに「ON」「OFF」や「○」「●」などの文字のドロップダウンリストを作り、 その文字内容をifで参照するシートを作ったのですが、チェックボックスなら1クリックで済む動作が、 セルをクリック>セルの横のドロップダウンボタンを押す>選択肢から選んで確定、と、3ステップも必要で、 これらのチェックボックス風選択セルが多いシートの場合、操作が非常に面倒だと文句を言われています 簡略化するために以前、セル内を空白→文字入力で、文字がある場合はON扱いにするシートや、 セル内に特定の1文字を入力したらON扱いにするシート作った時は、 「どこに何を入力すればONになるんだ?」という質問が多数で、結局一つ上のドロップダウンに戻すはめになりました 少ないステップで選択でき、かつ、誰がどのExcel(Calc)で開いてもエラーや不具合のでない「チェックボックス」を作る方法はないでしょうか?
ねーよそんなもんアホか
>>298 その
>セル内を空白→文字入力で、文字がある場合はON扱いにする
ってやつにしてそのセルは分かりやすく背景色をつける。
どこか欄外にその色のサンプルセルを作り、そのセルの下のセルに
『↑この色のセルに何か入力するとONです』と説明文を入れるってのはどうか?
他には選択するセル全セルに『何か入力するとON、空白ならOFF』とコメントを入れるって手もあるぞ
ドロップダウンにも注釈機能があるから『”1”でON、直接入力も可です』と注釈を入れるとか
READMEファイルは読まない奴ばっかりでもいくらなんでもシート内の注釈は読むだろ
やっぱり無いよなー俺も思いつかない とりあえず、やり方をコロコロ変えないほうがいいと思う 説明シート作って、excel97は〜ooOは〜と環境ごとに説明を負荷していけばいつか網羅できるだろう
チェックボックス使っただけでそんな事になるの?
OOoは無視して他はバージョンごとに動くプログラム作って動かせばよくね?
304 :
303 :2013/09/30(月) 14:32:28.05
追記:
305 :
303 :2013/09/30(月) 14:33:58.01
ドロップダウンはキーボードだけでやると楽だよ あとは頭のシートにReadme書いといてそこ参照してねって書いておけばわからなければそこ読むでしょ
リスト表示はalt+↓で表示できるけど、文句言う連中がそんなこと知ってるかどうかというと・・・
フォームコントロールでそんなメッセージ出たっけな? ActiveXの方なら出るだろうけど。 OOでも動かせってのは無理な話。 保存前にひととおり入力チェックして、どこそこが入力されてないんだけど?って表示すりゃいいんじゃない?
Excel97って、Windowsベスタとか7とか8でも動くの?
動くよ
Excelというか、Office一般の質問なのですが、 Office2010のパッケージ版はパソコン+ノートパソコンの計2台に インストール可と聞きましたが、パソコン2台やノートパソコン2台はNGでしょうか? 私は持ち主が同じパソコン+ノートのみOKという認識なので それ以外はNGという認識なのですが、うちの会社の情シスが 社内のノート2台にインストールしてOKだよというので確認させてください。 企業利用の場合です。
>>311 普通の個人向けの一般的な製品版はメインとバックアップ用に計2台インストールすることが出来るはずです。
ノート2台で使う場合も上記と同様のインストールしても問題ないと思います。
問題は
会社のパソコンに会社は会社所有のOffice「複数ライセンスパッケージ)導入していないのか?
あなた個人所有の製品版を会社のパソコンに入れようとしているのか?
というところが引っ掛かります
大企業 PCはリース ソフトはライセンス購入 よって、ライセンス1本につき1台のPCにインスコできる (デスクトップもノートもそれぞれ1台でカウント) 中小企業零細 PCは購入 ソフトはパッケージを購入またはプリインスコモデルを購入 よって、付属のソフトは他のPCにインスコできない
>>311 市販パッケージ版なら、1台は持ち運び可能なパソコンて条件が付いてたはず
つまりデスクトップ2台に入れるのはNG
2台ともノートなのはOK
>>311 ライセンスに関わるようなことを便所の落書き2chで聞いて
結果を上司にでも報告するのかい?
てか、情報システム部がおkというなら、それに従えばいいだけ。 なんでここで聞いてるのかワケワカメ
変な会社だな
日本でも屈指の超大企業(グループ連結での売り上げが1兆円超えてる)でも PC購入してソフトもパッケージで購入してるところがあるよ。
そりゃPC調達の担当者が残念なだけだろう どこの会社にもボンクラの一人や二人はいるもんさ
いや、理由を明かすと特定されかねないのでちょっとアレなんだけど、 むしろ企業全体でわざと無駄遣いしてる節が強い。 俺はそこの社員じゃなくて関連会社の人間なんだが とにかく金払いが良い取引先なので非常に助かっている。
大企業なのにOffice程度の金額で無駄遣いって せいぜい数万だろ、千本買っても数千万にしかならんぞ 理由があるにしても涙ぐましいな 後ろめたい金でも、もうちょっと効率のいい捨て方があるだろうに
322 :
名無しさん@そうだ選挙にいこう :2013/10/01(火) 11:12:50.73
数千万は高いぞ。 おれがIT部門にいるなら、ユーザには海賊版をインストールして、その数千万はオレの銀行口座にネコババさ。
>>321 いや、ソフト購入だけじゃなくて一事が万事そんなことだらけなのよ。
うちの会社も楽な仕事で結構な額の発注もらえて非常にありがたいんだけどさ。
雰囲気的には天下り官僚が跋扈する特殊法人に近い。
金額以前にパッケージの箱とかメディアの管理が嫌すぎる。
>>324 箱もディスクも管理してないよ
備品管理なんかまともにやってない、10本や20本紛失しても誰も気付かない
社員がこっそりオクで売って自分の金にしてる
巨大倉庫の建設費なんて自然に降ってくる
これはあくまでも俺の妄想だけどな
数十本単位になるとディスクは1枚だけ。ライセンスだけ紙で本数分ついてくるから 箱の管理なんて竹刀
328 :
名無しさん@そうだ選挙にいこう :2013/10/01(火) 13:12:37.59
Excel2007まではこれで動いてたのに、2013に変えたら「入力したパスワードが間違っています・Capslock〜」 のメッセージが出て動きません。 どなたか教えてもらえませんか? Application.ScreenUpdating = False Worksheets("choubo").Unprotect password:="123" ← デバックすると、この部分が黄色になる
2010ではできるな 新規シートでも試した?
×デバック ○デバッグ
331 :
名無しさん@そうだ選挙にいこう :2013/10/01(火) 14:48:34.62
>>329-330 ごめんなさい、動きました。
どうも、既にunprotectされていたみたいです。
本当にお騒がせしました。
Unprotect password:="123"って、俺が設定してるパスと同じじゃねーかwww
333 :
名無しさん@そうだ選挙にいこう :2013/10/03(木) 13:05:36.42
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 10110001111100001101011001011000101100001010000111101011110101111 上記のように「1」と「0」が作為的、或いは無作為に並んだ配列があるとします。 これを作為的なものか無作為なものかをExcelを用いて検証したいのですが、 良い方法をご教授ください。 例えば極端に「1」か「0」に偏った場合や、 不自然に「1」と「0」が交互に並んだ場合、また何かの規則に基づいて並んでる場合は作為的と判断したいのです。 後は「1」と「0」が最大で何回連続したかをカウントする方法はありませんか?
>>333 「作為的」とか「偏り」と感じるのは人の主観なので、これではプログラムは作れません
プログラムを作るにはもっと具体的に「01の繰り返しが15回」とか、「全体の70%以上が1」とか
「0011000111が含まれている」とか、あらゆる条件を数字で明確に示さなくてはなりません
その条件はあなたにしかわかりません
たとえ条件が100種類あったとしても、すべて書いて下さい
>>333 コイントスの結果で10000回ぐらいの試行ならcountif辺りで調べて50%ずつになってるとか、それぐらいしか
あとそれはひとつのセルに入ってるの?
>>334 条件も含めて無作為か作為的かの判定の仕方を知りたいのです。
>>336 一つのセルでも行でも列でも構いません。
カウントイフで個数しかわかりませんよね。
>>337 >無作為か作為的かの判定
無い。
「それっぽい」というなら自分で判定する条件を作ればいい。
コイントスで100連続で表が出る可能性は0ではない。
A1-横に並んでる最大の数なら
B2=IF(A1<>B1,0,A2+1)
B2を右にオートフィル
B3=MAX(2:2)+1
とでもすれば取れる
>>338 >コイントスで100連続で表が出る可能性は0ではない。
それは承知しております。
しかし、統計学的に見て偶然ではまずありえないですよね。
「1」と「0」の配列の癖から作為的なものなのか無作為なものなのかを高い確率で
読み取るAIはどうしたら作れますか?
>>333 【5 検索キーワード 】 excel コイントス計算式
>>339 >統計学的に見て偶然ではまずありえない
なんでそう言い切れるのかよくわからないけど、
まぁ数学的にありえない確率ってのは確かあったな。
最低1000回試行するんだっけか、1000万回か?忘れた。
それは自分で調べて、その分だけ↓を作る
A2=INT(RAND()*2)
B2=IF(A1<>B1,0,A2+1)
A2、B2を右にオートフィル
3:4列、5:6列も同じように作る
そしてワークシート全体の最大値+1が現実的にありえない回数といえるだろう。
2進数とすれば4桁ずつ区切って10進または16進にしてみるけども、、
>>341 試行数増やしただけですよね。。。
昔、「0」と「1」の配列が人為的なものならその癖を見抜くプログラムがあって
それをエクセルで再現したいんですが無理ですかね。
確かJavaScriptで作られていたはずなんですが。。。
>>343 うん、だから最初から無理と言っている
それにそのプログラムはあくまでそれっぽい条件を片っ端から入れただけだろう
自分で作ったほうがより「それっぽいもの」は作れると思う
何に使うかは知らないけど、あまり有意義でないプログラムのような気はする。
勉強になりました。 頑張ってみます。
分かりました。諦めます。
>>333 氏が納得したのかどうか分からないけど(この板じゃID無いし、トリップも付いて無いからね)
もし未だにどうにか出来るって思ってるなら、
コンピュータプログラムにおける「乱数」ってものを考えると理解しやすいと思ういます。
あれは「人為的」に「無作為」っぽいものを作ってるわけですよ。
つまりそういうものと、完全な偶然のみによって導き出される
真の「無作為」との区別をどうやって見極められるのか?
って話しなわけで、そういうことを実現できるアルゴリズムってのは
多分この世に存在してないです。
まぁExcel以前に統計学と確率論学べと
353 :
名無しさん@そうだ選挙にいこう :2013/10/03(木) 23:27:09.04
みんなアホばかり。 小学生のころに考えてたことなんだけど 人間の作る乱数(ここでは0か1のみを考える)は ランダムにしようと気合を入れると、「1010101001010101」のように前回の数字と同じものではなく違うものを出そうという傾向が強く出る。 ただしコンピュータの考えた乱数は 前回の結果の数字は当然ながらなんの影響もなく同じ確率で0か1となる。 だから、n個の数列があった場合、 [前の数字と同じ回数]、[前の数字と違う回数]、を比べれは、人間が作った乱数かコンピュータが作った乱数か、すぐわかる。 同じ程度ならコンピュータが作った乱数列、[前の数字と違う回数]がかなりの割合で大きければ人間が作った乱数列。
その「かなり」を定量化できない時点でアウト
というか確率論の推定とか検定だわな
きちんと数値化しようと思ったら、2000人に乱数を作らせて分布を調べるなどの作業が必要
例えば0,1の2000個の配列をランダムで行った場合、
10連続で同じ数か並ぶ確率はかなり高い
だが人間は恐らく10連続で同じ数を選ばないだろうな
>>353 が言うように前に選んだ数を選ばなかったり、
逆にそれを意識し過ぎるあまりに別の癖が出たりと
人間特有の配列になるんだよ
それを上手く読めば人間の手によるものなのか、
コンピュータランダムなのかが分かる。
だから定量化できないとプログラムにできないだろうに
別に論理が間違っているとは言ってないが、 それをロジックとして実装するには数値化が必要なんだよ 「ある程度」とか「かなり」なんて関数で表現できるのか?
だからそれを確率論で解いていくんだろ 頭の硬いやつだな
362 :
353 :2013/10/04(金) 00:28:41.25
アホばかり。 回数を増やせば増やすほど コンピュータならグラフが漸近線のようにきれいに50%に近づき 人間ならそうはならないから一目瞭然。
で、どこまで回数増やせば気が済むんだ?w 前提条件がまるで成り立ってない
>>361 それは判断するための基準を判断結果から導こうとしているようなもの
「この羅列を人間が作った可能性」を%で表示するならまだしも、
>>333 は「作為によるものかを判断する」と書いている。
そんなもの閾値の基準も根拠も定まらないのだからできるわけがない
暇だから
>>341 で試してみた
10000回ずつだと
0/1
50.1/49.8
49.8/50.1
50.3/49.6
49.9/50.1
51/49
計
50.2/49.7
1万回の試行でも1%以上ずれることがあるな
1000回だと550/450と10%近くずれることも
5万回0と1を打ち続ける作業をやらせて5%ぐらいずれてたら人間が打ってたんじゃないっすかwww
>>362 には是非そのロジックと最低試行回数を教えて欲しいわ
どんなロジックを考えてくれるんだろう、楽しみ
>>333 「連検定」がキーワド。他の方々もぐぐって内容読んでから書き込んでくれ。
Excelの話ではないからね。
>>353 話の前提がおかしいよ
コンピュータで作った乱数も
人間が作る乱数もどちらも人為的なもので、
真に無作為な乱数ではないんだけど。
それを判別したいって話?
それってちょっと違うと思うけど、仮にそうだとしても、
0と1の出現にわざと偏りを持たせるようにプログラミングすれば
君の理論は容易に破綻するぞ。
>>371 わざと偏りをもたせたものを無作為とはいわんだろjk
おまいら知ってる? エクセルって表計算ソフトなのに小数点の計算が苦手なんだぜ
>>333 の話題は連検定とやらで終了だよ
そしてvbaなしのエクセルで作るのは相当だるい
Cのコードなら落ちてたけど移植する元気はない
>>372 だ・か・ら、そういうものをコンピュータで作れる以上、
人間が作ったかコンピュータで作ったかは
>>353 の理論では区別できないって言ってんだろ
>>376 >>375 を書く前に読んでるよ
連検定で無作為性が測れるというのは
逆に言えば無作為でないとみなせる数列を人為的に作れるって事で、
それをもって
>>353 の理論は否定されるって言ってるんだよ。
まぁいずれにしてもVBAじゃないと無理
連検定は「どれだけ正確なランダム性か」(変な日本語だけど) を図るだけで「人か機械か」は関係ない
連検定の結果をしてどう判断するかは評価する側である人の役目
>>379 >「人か機械か」は関係ない
そのとおり
だから連検定を知った所で
>>353 の件には何の関係もない
380が正解 判断する、または判断の基準を作るのは人間の役目
人がセットして機械は動くけれども、その人間は自然にセットされたっていうのも不思議な事と思える
作為的だと決めつけるのはその人の勝手 他人を納得させられるかどうかは、また別の話 今回は質問者本人だけが納得すればいいだけと思われるので、他人に質問してもしょうがない VBAとかまったく関係ない次元の話 質問者が条件を明確に決めない限り誰にもプログラムは作れない 勝手に作ったところで納得するとは思えない
いつまで関係ない話してるんだ? 他所でチャットでやれよめんどくさい
誰かが他の質問ネタをひねり出して書くまで
今更だけど>
>>333 が聞いてた、VBA無しで
「『1』と『0』が最大で何回連続したかをカウントする方法」
を考えてみた
まず、A列にA1から下向きに一桁ずつ数列を入れて、
B列にはB2から下向きに次の数式を入れる。
(例:B2の場合)
=IF(A1=A2,B1+1,0)
この数式をB2に入れたら下にオートフィルでOK
あとはC1あたりに=MAX(B2:「B列最終行」)で
「何回連続したか」がカウントできる。
数式を
=IF(A1=A2,0,B1+1)
にすれば逆に
「何回連続しなかったか」もカウントできる。
391 :
名無しさん@そうだ選挙にいこう :2013/10/05(土) 11:15:07.23
数学科卒だけど 数学やってりゃこの話は有名なコラムではっきり人間の乱数は分かるね。 誰か必死で反論してる人がいるけど 反論すればするほどあとで大恥を書く。 一回変な主張で引くに引けなくなってるけど あとでタネあかししてさらに大恥をかかせよう。
まあ何れにせよ5個や6個の配列では判断できないよな 100個位配列させてやっと人間かコンピュータか分かるんじゃないの
エクセルかんけーない話にけりをつけるためにさっさと種明かししてくれよ
>>391 数学科出てても馬鹿は馬鹿なんだな
そもそも人間が作ったかどうかがメインテーマじゃないっつーの
自称数学科卒が吹いてるだけだろ
数学科でもそれなりの日本語読解力と論理的思考能力があるはずなんだが どうやらそうでもないらしい…
要するにこれを使えばカジノなんかで不正が行われてないかを調べることができるって事でしょ?
>>391 早くその知識を披露して下さい><
はっきり人間かどうかがわかる結果はよ
街頭で10人ほどに協力してもらって"0"と"1"を無作為に100個並べてもらい
コンピュータランダムと比較してみたが明らかに違うようだ。
下記はその内の1人の配列とコンピュータランダムだ。
▼人間
10010110111010110101101001101001001010101011010110
01001101010101100101011011010110101101011010100101
▼PC
01010100101111110000100110100100100101001001100010
01100011000000111101000101000111101101110000110001
これをExcelを用いて解析してみたのが下記画像。
http://f.xup.cc/xup4XOGzOGd.png これはたまたま分かりやすい配列を選んだ訳ではなく10人とも明らかに
コンピュータランダムとは違いが見られた。
>>390 たった今この話題を初めて読んだのだが俺も全く同じ方法を考えてた
このくらい考えられないとやばいよな
カウントするのは造作も無い 問題なのはその数をどう評価するか
403 :
名無しさん@そうだ選挙にいこう :2013/10/05(土) 18:20:04.95
>>399 すばらしい。
人間は連続1回ってのが圧倒的に多いな。
これは一目で人間かPCかすぐ明白に分かるね。
いままで反論してた人、いま顔をサルのケツのように真っ赤っ赤にして恥をかいてるだろうなる
>>403 何度言えば分かるんだか…
その「違い:をどこまででどう判断するかの閾値がないのに
自動で判断させたいってお題なんだぞ
405 :
名無しさん@そうだ選挙にいこう :2013/10/05(土) 18:25:16.37
数学に興味持ったんですが 人間がいまx才のとき、1年後に死んでる確率yってどのくらい? うまく平均寿命が80才くらいになるyとxの関係が知りたい。 あと例えば中曽根康弘は今95才だけど、一般に95才の人があと1年後も生きてる確率って50%超えてるんだろうか? だれかExcelでシミュレートして。
仮定した寿命との差は余命となろう 寿命を超した場合余命は負の数となり、生きてる確率も負となるだけ
>>399 > 街頭で10人ほどに協力してもらって
すごいねー (棒
ついでにその 10人のデータ出してみなよ。
>>403 まだわかってないようだな、赤っ恥をかいてるのはお前さんのほうだよ。
>>399 はPCで作った乱数列と人の作った乱数列の違いじゃなくて、
単にアルゴリズムの違いなんだよ。
だからPCに人間風の偏りがある乱数列を作成させることも当然できるし、
手計算で手間は掛かるけど人間が偏りの無い乱数列を作ることも出来る。
そこの所が根本的に理解できてないから
そういうアンポンタンな発言をすることになる。
こういう人たちが回答者だったのか… 解決すれば別にそれでいいんだけど、なんか気持ち悪いな
お前の中では、な
>>411 簡単には解決できないような質問をするから荒れてるんだよ
実はとても難しい問題なのに、たぶん質問者には何が悪いのかわかってない
いまだにコンピューターは万能マシンだと思ってるクチかも
どんな質問にも答えてくれるのは映画の中だけなんだよ
そんなこと気にしても仕方ないし、今回は自分のためにもなったわ 正直、NP完全ぐらい知っておけばどうとでもなると思ってた 分かる範囲なら俺はいつでも全力で答えるぜ
415 :
名無しさん@そうだ選挙にいこう :2013/10/06(日) 06:58:50.14
Excel2003のデータ(.xls) を2007で開くと、 互換モードで開かれますが、 一部のオートシェイプが高さ0になって潰れて表示されます。 2003だと正常に表示されています。 これを正常に表示させる方法はないでしょうか?
>>413 いや、そんなこと言ってるんじゃなくて、
なんというか、スルースキルが低いなぁと思ってね
418 :
405 :2013/10/06(日) 07:52:52.96
>>407 32%ですか、95才の男があと1年後には死んでる確率は。
思ったより低めですね。
でも5年後も生きているかとなると、68% x 68% x 68% x 68% x 68% = 15%
15%の生存率って、悪性の進行ガンと同じくらいではない?
ああ、中曽根さんかわいそう。
レベルの低い質問だとは思うのですが、よろしくおねがいします。 レシートなどの集計を日ごとに取りたいのですが、何品購入するか不明の為どのように作ってやれば良いのか迷っています。 日付 レシート名 品名 単価 支払額 支払い合計 1日 レシート1 ○○ 200円 200円 200円 2日 レシート1 ×× 300円 300円 300円 2日 レシート2 △△ 400円 2日 レシート2 ◎◎ 500円 900円 1400円 こんな感じにしたいのですが 支払額を自動で出す為の計算式が欲しいんですがどうやれば宜しいでしょうか? 一応自分で考えたのは、日付とレシート名が同一の単価の合計を、支払額列の同一レシート名内の最後尾に出力 ってやりたいのですが、支払額の列に書く計算式を教えて頂けないでしょうか。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 こちらのExcel2002で作成したシートを、向こうのExcel2010で開いたら 『読み取れなかった内容を修復または削除する事により、ファイルを開く事ができました。 このブックにある、VBA プロジェクト,ActiveX コントロール, およびその他のプログラミング関連の 機能は失われています』というエラーが出たそうです。 ですがそのデータは元々VBAやActiveX、マクロの類は一切使ってませんでした。 97以前専用コマンドとかも使ってません。 このエラーを出なくする方法ってわかりますか?
>>420 >>2 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
>>419 G2=IF(OR(A2<>A3,B2<>B3),SUMPRODUCT(($A$2:$A$10=A2)*($B$2:$B$10=B2)*($D$2:$D$10)),"")
ただしD列は円を入れてはいけない
>>420 2010で作ったファイルを元にしてみては
>>421 ありがとうございます。さっそく試してみます。
判らない式があり、そのうえ式自体まだ不慣れな為解読に少々時間かかりそうなので、
一旦頂いた答えを元に勉強して後日また結果報告or質問させていただきます。 ありがとうございました。
424 :
420 :2013/10/07(月) 01:08:57.53
>423 レス番間違ってないかい?420は俺だけど。 >422 ネットから2010製でマクロとかの無い奴探して試してみます。
>>421 試してみたところ、提出が遅れて日付が前後したりするとレシート名が同じ場合、支払額が重複するのですが
これはどうしようもないものでしょうか? 挿入する事で対処できると言えば出来るのですが・・・
なにはともあれ、式の理解に努めてきます・・・
426 :
419 :2013/10/07(月) 01:40:05.23
>>425 う〜〜〜ん、ダルイ
挿入でできるなら挿入のほうがいいかも
ぴぼっとでできるかはわからないけど試してみて
VBAできるなら楽勝なんだけどな
最近すごく鼻糞がたまるんだが・・ 鼻糞を少なくする関数があったら教えて欲しいと思ってるんだよ 固いやつと柔らかいやつの両方対応できる関数だと有り難い
>>428 かなり難しい
エクセルと鼻くその因果関係はほぼ無い上、体調・環境の要因が大きい
酷い場合は耳鼻科に行く方がいい
>>417 ありがとうございます。
なるほどOOo経由やマクロは思いつきませんでした。
試してみたいと思います
431 :
名無しさん@そうだ選挙にいこう :2013/10/07(月) 07:47:04.90
>>71 と似た状況ですが、
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
D列にスレ内改行が入っているセルがあります。
改行があるセルについて、条件付き書式を使ってエラーと一目で分かるように色付けしたいのですが、いい方法はありますか?
強調表示→文字列から、Ctrl+JやCHR(10)を入力しても、引っかかってくれません。
>>433 レスありがとうございます。
セルを選択した上で、条件付き書式、強調表示、文字列と選択してCHAR(10)を入力しましたが、やはり色が変わりません。
すみません…何がいけないんでしょうか。
「CHAR(10)」という文字列じゃないんだから 「文字列が含まれる」ではなく「セルの値を判別する」で 条件式に=IF(〜,TRUE,FALSE)にしないとダメでは?
>>432 対象がA2として
条件付き書式で
=NOT(ISERROR(FIND(CHAR(10),A2)))
>>435-436 レスありがとうございます!
確かに、435さんの言うとおり、CHARって文字列で探すのは間違いですね…
ただIFだと、書式の設定ができなくてだめなんです。
とりあえず436さんの通りに入れてみたところ、無事に強調表示できました!(まだ何が起きてるのかサッパリですが…)
これから、関数を一つずつぐぐって勉強してきます。お三方とも、ご回答ありがとうございました!
【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 グラフの縦軸・横軸のフォントカラーを変更したいんですけど、 Dim chart As ChartObject Set chart = Thisworkbook.sheets("Test").ChartObjects.Add(826, 149, 734, 345) With chart.chart .Axes(xlCategory).Format.Line.ForeColor.RGB = RGB(255, 255, 255) .Axes(xlValue).Format.Line.ForeColor.RGB = RGB(255, 255, 255) End With End Sub だと変更できませんでした。どういう風にすればいいのですか? また2007はマクロ記録の不具合でグラフの処理が記録されないって見たんですけど、新しいのに乗り換えるしかないのでしょうか?
>>438 2010でマクロの記録したものはこんな感じ。
直接色を指定するのではなく、テーマを選んでそれを微調整するようだ。
上三行はテキトーに変えてくれ。
Sub Macro1()
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent4
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0.400000006
.Transparency = 0
End With
End Sub
動いたらいいね。
後半の質問はしらん。2013も出たことだし必要なら買い換えればいいんじゃないっすか
>>438 >また2007はマクロ記録の不具合でグラフの処理が記録されないって見たんですけど、
不具合ではなくて仕様
>新しいのに乗り換えるしかないのでしょうか?
2007を使い続けることも可能
441 :
438 :2013/10/09(水) 07:52:18.73
んー分からんです Format.LineをFormat.Fillにすると背景が白くなるんですけど、文字を白くしたいんですよね
あぁ、スマンlineって書いてるから線のことと思ってた 2010で記録してみたけどなんか動かない With ActiveSheet.Shapes("グラフ 3").TextFrame2.TextRange.Font .BaselineOffset = 0 .Fill.Visible = msoTrue .Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent1 .Fill.ForeColor.TintAndShade = 0 .Fill.ForeColor.Brightness = 0.400000006 .Fill.Transparency = 0 .Fill.Solid End With がんばって!
>>438 マクロの記録を使いたいなら2010か2013に買い替えるしかない
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.Axes(xlValue).TickLabels.Font.Color = RGB(255, 0, 0) '横軸の文字色
ActiveChart.Axes(xlCategory).TickLabels.Font.Color = RGB(0, 255, 0) '縦軸の文字色
ちなみにグラフやシェイプ関係のマクロの記録はバグだらけで 記録したままなのにエラーが出て動かないことがけっこうある
>>443 できました、ありがとうございます。
新しいの買おうと思います
【1 OSの種類 .】 Windows7-64 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 なんとかコピペして修正するぐらいなら 【4 VBAでの回答の可否】 可 あるセル「36進数の大文字英数字7文字固定」の横に「10進数」で表示したいです。 「1000000」なら「36^6+0+0+0+0+0+0」=2176782336 理屈ではわかるのですが、文字を分割して「英語を数字に変換して計算」して足す、というのがわかりません。 2013ならそういう関数はできたようです。
>>446 作業列を使う方法でやってみました
36進数ということは、0〜9、A〜Yの36文字で表現するという前提です。
A1セルは、セルの書式を文字列にしたうえで 7文字の数字を入力(アルファベットは必ず大文字で)
B1セルには48を入力
C1セルには基数となる36を入力
D1セルには計算式 =SUM(D2:D8)
A2セルに計算式 =MID($A$1,ROW()-1,1) を入れて、A8セルまでドラッグコピー
B2セルに計算式 =CODE(A2)-$B$1 を入れて、B8セルまでドラッグコピー
C2セルに計算式 =$C$1^(8-ROW()) を入れて、C8セルまでドラッグコピー
D2セルに計算式 =B2*C2 を入れて、D8セルまでドラッグコピー
これでD1セルに答えの10進数が表示されました。
A2セル以下は1文字ずつの分解
B2セル以下は10進数での値(文字コードから48を引くと求められる)
C2セル以下は36のべき乗(って表現でいいのかな)
D2セル以下は対応する桁の意味する10進との積
なお、C列とD列はできるだけ列幅を大きく。
あってるかどうかは知りませんが、YYYYYYYは 91798020797 となりました。
1000000 は 2176782336 になりました。
449 :
447 :2013/10/10(木) 18:46:39.83
>>448 ありゃ、9からAでコードが飛んじゃいましたね
泥縄ですが、IFで分けて
B2セルに =IF(CODE(A2)<58,CODE(A2)-$B$1,CODE(A2)-$B$1-7) で下にコピー
でどうですか?
>>446 SEARCHと配列定数を使ったやり方で
=SUMPRODUCT(SEARCH(MID(A1,{1,2,3,4,5,6,7},1),"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")-1,36^{6,5,4,3,2,1,0})
>>449 素晴らしい!
9とAの間に、コロンなどの7バイト分をifで判断するんですね。
上手くいきましたけど、発想が出てこないので自己嫌悪になりますね。
>>450 sumproduct, search, midの組み合わせがすいません全然理解できないのですが、
確かに一発で出ました、あとで勉強して一つずつ関数を調べてみます。
マクロを覚えるのに良いサイトとかありませんか? ないようなら参考書買おうと思っています。 あとライセンス関係ってここで聞いても大丈夫ですか? 2013で自作PCだとどこまで変更してもok? というのを教えて欲しいです。
マクロの記録いじってれば割と覚えれると思う DSP版ならパーツとセットだからそれさえ買えなければok
【1 OSの種類 .】 Windows8 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 行を多くしすぎて(30000行ほど?)保存してしまい、 大容量すぎて開けなくなってしまったんですが 5000ずつ分割してなんとか開くーなど、低スペックPCでも開けるようにできませんでしょぅか
>>455 oooを使うか、グーグルのエクセルみたいな奴で開いてみては
名前忘れた
いい機会だからおとなしくExcel2013に乗り換える
>>455 Windows8が乗るスペックのPCで、3万行のExcelファイルが開けないってマジかよ?
開けない原因を行を多くしすぎたせいと勝手に「思 い こ ん で る だ け」で、
単純にファイルが破損してるとかじゃないの?
>>456 の言うように、「開けなくなった」というのが
どういう挙動をするのか(エラーメッセージが出るとか、フリーズするとか)を書いてみそ
まぁ他人に見られても良いファイルなら、ファイルをうpして破損の確認や分割をしてもらうって方法もあるけど
>>455 直接開くんじゃなくて、他ブックを参照する計算式を新しいブックに書いて見たらどうですか?
A1セルに =ファイルのパス\[開けないブック名.xls]Sheet1!A1
と入れて下にコピーしてみるとか
これで、最悪でもセルの値そのものは救い出せます。
あと、
>>457 さんが書いてるように、OOo(今はLibreOfficeが主流だし、無料)で開いてみるとか。
461 :
455 :2013/10/12(土) 10:48:59.89
本家Officeでファイルオープン→フリーズしたまま、試しに長時間放置してたため 返信に時間かかってしまって申し訳ありません。 試しにLibreOfficeで開いてみたところ、時間かかりながらもなんとか開けました 1/3ほどに分割して(同じようにして作った半分のサイズのものはフリーズせずに開けるため) 事なきを得ました ありがとうございました
行の多さじゃなくて参照や自動計算のせいだと思う
>>461 おめでと
>>452 の便乗みたいになるけど
HDDからSSDに変えようとおもってる
ヤフオクでライセンスキーだけ買ったけどこれって移行無理?
出品者とは連絡取れなくなった…
>>463 ライセンスに関わることはMSのサポートに問い合わせれば解決しない?
Excel初心者ですが マイナスの値が混じった表をすべてそのままプラスの数値に変換するには一体どうすれば良いのでしょうか? 10% -11% -80% ↓ 10% 11% 80%
ABS()で変換
468 :
466 :2013/10/12(土) 15:30:40.96
>>467 これはすばらしい!
ありがとうございましたm(_ _)m
【1 OSの種類 .】 Windows*XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 マクロではなく数式で対応したいのです。 A1からA9までの最大値を知るには =max(A1:A9) ですが、 この範囲を別のセルにある値によって変動させたいのです。 C1に、「1」が記入されていれば =max(A1:A9) 「2」なら =max(A2:A9) 「8」なら =max(A8:A9) のように お願いします。
INDIRECTでも問題ないが、 この場合はOFFSET使った方がいいな
Excel初心者ですが Excel2003で条件付き書式はなぜ3つまでしか指定出来ないのでしょうか?
当時はそれで十分だと思われていたのか、 当時のPC性能との折り合いかも 多分あれ再計算のたびに全部計算し直すから、大量に使うとかなり重くなると思う
【1 OSの種類 .】 Windows*XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい プラスマイナスが混ざった表の中から 両者混合で1番桁が大きい物を関数1発で割り出すことは可能でしょうか? -10 99 -100 ↓ -100 -10 300 -299 ↓ 300
>>475 B1=ABS(A1)
C1=IF(A1<0,"-","")
BCを下にオートフィル
D1=INDEX(A:A,MATCH(MAX(B:B),B:B,0))
一発、なら配列数式かsumproductになると思う
それを希望ならこのレスにこれじゃないってレスしておけば誰かが作ってくれるかも
>>476 そうしますとすべてプラスの数値になってしまうかと思うのですが、
元がマイナスの場合マイナス付きで表示させようとしています。
C列いらねーわ
480 :
475 :2013/10/13(日) 03:50:04.32
>>477 ありがとうございますやはり簡単にはいかないようですね、、
>>475 「1番桁が大きいもの」ではなく、「一番絶対値が大きいもの」だよね?
まあどちらにしろ、関数1発(関数一つ)となると、ユーザー定義関数を作るしかないでしょ
数式1発(1セルで完結する数式)ならどうにでもなるが
例
=IF(ABS(MAX(範囲))>=ABS(MIN(範囲)),MAX(範囲),MIN(範囲))
{=MAX(ABS(範囲))*((MAX(範囲)>ABS(MIN(範囲)))*2-1)}
あーそうか素直に一番下と大きいもので比べればよかったのか
>>481 ありがとうございます。
>「一番絶対値が大きいもの」
そうです。
頂いた式で挑戦してみます。
485 :
名無しさん@そうだ選挙にいこう :2013/10/13(日) 09:01:47.75
>>475 A1〜A3に値が入っているなら
1列作業列作って、たとえばB列に作るなら
B1: =log(abs(A1))
B3までコピー
最終的に =max(B1:B3) でOK
486 :
名無しさん@そうだ選挙にいこう :2013/10/13(日) 09:03:07.72
あほか! 対数なんかとる必要ないわ(本人) ごめん
487 :
名無しさん@そうだ選挙にいこう :2013/10/13(日) 09:24:12.71
>>475 A1〜A3に値がありA4に結果求めると仮定したら
A4に次の式を入力し、Ctrl+Shift+Enter でOK
=MAX(ABS(A1:A3))
488 :
487 :2013/10/13(日) 09:50:00.68
マナス付きのときはマイナスでだすのか。 じゃ、この式のままじゃ無理だった。
=if(max(範囲)>abs(min(範囲)),max(範囲),min(範囲)) というのはどうだ?
最大と最小の絶対値が等しいときはどうすんの?
|100|
494 :
475 :2013/10/13(日) 18:26:32.19
>>475 この判定の用途は
プラスであろうがマイナスであろうが変化値が突出して大きいデータを洗い出すのに必要でした。
色々とありがとうございました。
495 :
469 :2013/10/13(日) 20:01:10.68
>>470-471 offsetでびっくりするくらいうまくいきました
ありがとうございます。
以下、別の質問です。
■マクロは使わない
■暫定セルを使わずに1回で求めたい
■配列はOK
A1:A10の合計、B1:B10の合計…Z1:Z10の合計のうちの最大値を知りたいです。
{=max(sum(A1:Z10))}
だと、ちょっとおかしいですよね?
範囲が2つある場合は、無理なんでしょうか?
>>495 手元に Excel ないので未検証だけど、
=max(sum(a1:a10),sum(b1:b10),sum(c1:c10))
ってできないんだっけ?
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A1セルに 2000、A2セルに 3000、A3セルに =A2-A1 の数式が入っているとき、A3セルは黒文字で -1000 になります。 これを、マイナスになったら赤文字で 1000にすることはできますか?
誤 マイナスになったら赤文字で 1000にすることはできますか? 正 マイナスになったら赤文字で =A2-A1の値にすることはできますか?
条件付き書式?
条件付き書式
あ、いろいろと書き間違いw 書き直します・・・ A1セルに 3000、A2セルに 2000、A3セルに =A2-A1 の数式が入っているとき、A3セルは黒文字で -1000 になります。 これを、マイナスになったら赤文字で =A2-A1の絶対値にすることはできますか?
>>496 その力技でもいいんですけど、
200列以上あるんです。
数式を作ってしまう方法もあるんですが、
スマートにできませんか?
>>502 合計の行を作ってそこでMAXとれば?
見せたくないなら行非表示でもいんだし。
>>502 > 200列以上あるんです。
また、あと出しかよ...
俺は抜けるわ。
正直、数値の見た目はセル関数云々よりも書式設定で何とでもなる
>>503-504 >>503 見せたくないのではなく、それをやってるとシートが複雑になりすぎる+重くなりすぎるからです。
また、条件を変えるたびに途中計算部分を全部作りなおさなければいけなくなるからです。
細かく説明すると話がややこしくなるから
>>495 は分かりやすく論点を抜き出したのです。
10000行×200列の数字の表があって、
行は日付だと思ってください。20年以上。
ある日から遡って10日分の合計を、20年分毎日求めます。
それが200列。
で、そのうち最大の列を知りたい。
5/10〜5/19の合計値は、35列目が最大、
8/16〜8/25の合計値は、180列目が最大…
というものを20年分一気に求めたいのです。
マクロを使わないのは、パラメータを微調整するたびに出てくる答えがどう変わるのか
簡単に視覚的に見てみたいからです。
マクロでも視覚的に見れますけどね。 っていうかその程度で複雑とか重くなると思ってるようなら ExcelをDBとして開いてクエリで求めれば?
>>507 最後の2行のマクロを使わない理由の意味がわからない
>>509 ユーザー定義関数とか、シートイベントとか知らんのだろ。
別の目的があるならそれ用に別のブックにすればいいじゃない
理系の若い学生にありがちな思考だな データ分析をしたいけど、自分の知らない方法は「難しく見えるから」使いたくないっていう
>>508-509 例えば、A1、B1などを初期値を入れる欄にしてあって
いろんな計算をした後、
A2にその結果がでるようにしてあります。
A1に100を入れた時にA2にどういう結果が出るか
もちろん、マクロを毎回動かせばいいのですが
マクロ実行よりも、単純にA1の値を入れ替えるたびに
答えがどう変わるか感覚的に掴みたいのです。
さらに言えば、いくつかパラメータを変えてみて、パラメータの範囲をある程度絞った上で
マクロを実行してみる、というやり方をしています。
なので、とりあえずはマクロを使わないでやりたいのです。
毎回マクロ動かして確認していると、ちょっとたいへんなのです。
というか、
>>495 はできない、ということでOK?
>>512 難しいから、ではなく、パラメータを変えるだけで最終値をすぐに見てみたいからです。
マクロとか途中計算とかできるだけ省いて簡素にまとめたい、という気持ち、
理系なら分からんかな
若くないけど
VBAでイベント拾えばいいじゃない? 途中がどんなに複雑でもインタフェースを簡素にすればいいだけのこと。 むしろそのほうが理系思考だと思うけど
>>507 > シートが複雑になりすぎる+重くなりすぎるからです。
具体的に、どんなことをして複雑になって重くなったの?
後出しせずに細かく全部書いてくれたほうがありがたい
>>513 >答えがどう変わるか感覚的に掴みたいのです。
感覚的に掴みたいってのは何?グラフ?
VBAがダメな理由は何?
>>515 関数でやるより簡単とは思えませんが…?
インターフェイスを簡素にするか、途中計算を簡素にするかは
どういう目的で利用するかによります。
今回はインターフェイスはもとより途中計算も簡素化するのが目的です。
自分であれこれ試行錯誤するのに、複雑になればなるほどミスしてしまう可能性が出てくるのと
数日後に計算方法を思い出せなくなるのが問題です。
>>516 一端、合計値だけを集めた表を作りますよね。
その場合、例えば「やっぱり10日じゃなくて15日の合計値で見てみたい」とおもった時、
数式の作り直しが大変です。
10日〜15日の場合全てとなると、
それごとに新しく表を作る必要が出てきます。
もし関数でできれば、関数の中の数値を直してオートフィルで修正すればいいのですぐ対応できます。
10〜15日の場合でも、1列を6列にするだけで済みます。
>>518 関数で一発表記はできない、ということでOK?
>>513 みんなはできる手法を提示してるけど
君が全部拒絶してる
>>520 ああすまん、マクロ不可だったな。
なら、少なくとも俺には無理、と言うか考えるのが面倒。
なんでマクロ毛嫌いするのかは理解できないけど。
皆ワーワー言うてるけど、出来るかできないかといえば出来る。 でも、セル関数で一度にやるより他に楽で見やすい方法あるけど それを使わない理由がよく分からんね、ってこと
マクロ=VBA なの?
っていうかもうピボットテーブルでええがな
>>521 そりゃあ
>>496 以外は
>>495 の前提条件を無しにする提案だから仕方がないですねえ
{=max(***A1:A10 **** Z1:Z10****)}
みたいに、簡単に作れて分かりやすい計算方法を知りたいのです
>>519 関数の方が理解しづらくなるということもあるのですが…
経験上、セル関数をやたらと駆使するより
別表を作ったりVBAで簡単な手続きを並べたほうが
後からソース追ったとしても理解しやすい事が多いし。
>>522 マクロがあるとすぐに全体像が見通せないから、できるだけ計算途中に組み込みたくないのです
イベントであっても
パラメータと結果の一覧表を作る時くらいにしかマクロは使いたくありません
複雑になってくると頭が追いつかない
>>525 ピポットは使いこなせないので…
アクセスは持ってないから×
>>526 自分で条件変わるって言ってるのに
簡単に作れて分かりやすいとか何言ってんの…
条件変わっても自動で対応させるなら
別の何処かにパラメータ持つしか無いのでは?
この程度の処理を自動化するだけで全体見通せなくなるとかどういうことよ それならセル関数にしたところで理解できないよ
もういいんじゃね、マクロじゃダメな理由もコロコロあと出しされてるし、なに提案しても自分が一番正しいと思ってるみたいだし。
一連の流れを読んでみたんだけど、ユーザ関数作ればいいんじゃないの? そしたらオートフィルすらいらない やりたいことが単純だからユーザ関数の中身自体もシンプルだし 誰が読んでも一瞬で理解できるだろうし
たとえば処理する範囲を10日から15日ずつに変えたいとして 数式だと複数のセルを変える必要が出てくる オートフィルを使うとしても、一手間増える ユーザー定義関数(マクロ)なら一ヶ所変えるだけ 単なる食わず嫌いにしか見えない もし俺なら期間をパラメータで指定できるようにして X列には =SHORI(A1,10) Y列には =SHORI(A1,15) みたいに、どっちの結果も一発で出せるようなマクロを作って簡単に比較できるようにするかなあ 長い式をセルの中にごちゃごちゃ書くより見通しもよくなるし修正もやりやすい
>>533-534 ユーザー関数だと、
範囲から行番号を読み取る必要があるのですが
そのようなマクロの扱いまでの知識は無いのです。
おそらく、200列を10日分で合計する場合だと
=keisan(A55,10,200)
といった関数になると思うのですが、
ここからA55という指定値から
行番号55を読み取り、
for i=55 to 55+10-1
で繰り返し実行
となるのでしょう
この行番号55読み取りが、よくわからんのです。
もうこの際ピボットテーブル学んどけ
>>535 > そのようなマクロの扱いまでの知識は無いのです。
はじめからそう言ってりゃいいものを...
まあ、知識はともかく向上心もなさげなので、
>>495 は無理と言う結論でいいと思うよ。
頭悪いとしか・・・
>>537 だから始めから「マクロは使わない」って言ってんのに…
知識がないんじゃなくて教えてくれっていえば教えてあげるし解決もするのに、不思議な人だ
研究者にありがちなプライドの高さが邪魔をして人生を色々と損するタイプ
>>495 暇だから作ってやったぞ
Sub Macro1()
lastgyou = Cells(1, 1).SpecialCells(xlLastCell).Row
lastretu = Cells(1, 1).SpecialCells(xlLastCell).Column
int1 = 0
For i = 1 To lastretu
int2 = WorksheetFunction.Sum(Range(Cells(1, i), Cells(lastgyou, i)))
If int1 < int2 Then
int1 = int2
End If
Next
End Sub
>>539 君、最初は...
> マクロを使わないのは、パラメータを微調整するたびに出てくる答えがどう変わるのか簡単に視覚的に見てみたいからです。
って言ってたよね?
>>542 おい (w
マクロわからないくせにゴチャゴチャ言訳するからw
【1 OSの種類 .】 Mac10.5.8 【2 Excelのバージョン 】 14.2.0使用中 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 転職先IT系企業でマーケティングアシをやることになりました けっこう高度なことを求められるようなのですが、 私はΣと簡単な四則計算しか使ったことがありません 今から一から独学するための、オススメサイトを教えてください 本でもいいのですが、今日から始めたいのでサイト希望! よろしくお願いします
>>545 高度といっても何がどう高度なのかよく分からんが
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html ここの関数を全部一回ずつ使ってみる。
エンジニアリング関数、データベース関数はいいや。
グラフとピボットテーブルをテキトーに作ってみる。
シリアル値をぐぐって覚えておく。0.5=12:00=1900/1/1 12:00がわかればok
(macだと1904年だっけ?)
小数誤差の意味を見ておく。
条件付き書式を使う。
VBAでforとifぐらいは使っておく。
例題として、a1:a10セルで5行目なら1、それ以外は2と入力。
このへん出来ればとりあえずなんとかなるんじゃねーかな。
サイトは知らん。
>>545 マーケティングアシが何かよくわからん (マーケティング業務のアシスタント? そもそも、マーケティングの具体的な業務内容知らんし)
本屋に行って関連しそうな本買って読みなよ。
そのなかで、Excel に関連しそうな疑問が出てきたら、またおいでなさい。
狭義のマーケティングなら情報分析や統計が主だろうから 集計関数とグラフとピボットテーブルは知っておくと良いかも。 あと日付データの扱い方がわかると時系列データで躓くこともなくなるかと。 しかし業務でMac版使うってのも凄いな…
excel 2010の図形のスタイルについてです。 デフォルトでいろいろ登録されてはいますが、 どれもこれも無駄に派手だったり枠線が太かったりで、 業務書類には合わないと思っています。 そこでこれを自分で定義し追加するにはどうしたらいいでしょうか?
>>545 です みんな親切!
広告等のマーケティングと営業のアシスタントで、
営業データやトレンド分析を任されるらしいです
どう高度なのかなにが高度なのかわかっていませんか、
そういえばピポットがどうとか言ってました
環境は私の自宅で、試しにトライアル版をダウンロードしました
個々の質問ができるようがんばります
枠線はプロパティで変えればいいのに
553 :
名無しさん@そうだ選挙にいこう :2013/10/14(月) 18:08:03.92
セルが複数あって、それを特別な記号で連結した長い文字列を作るにはどういう技を使ってやるのが便利ですか? 例えば、セルに 「新宿」「代々木」「原宿」「渋谷」「恵比寿」・・・・・・・・・・「新大久保」と30弱くらいあって、 それを特別な連結記号「-」で結んで、 「新宿-代々木-原宿-渋谷-・・・・・・・・・・-新大久保」という文字列を作りたいとき。
>>553 関数式の場合、
例えばA1=「新宿」、B1=「代々木」、・・・と入力されているとする
A列に対する関数式を
=IF(A1="","",IF(B1="",A1,SUBSTITUTE(A1,"」","-")))
↓
B列の関数式を
=IF(B1="","",IF(A1="",IF(C1="",B17,SUBSTITUTE(B1,"」","-")),IF(C1="",SUBSTITUTE(B1,"「",""),SUBSTITUTE
(SUBSTITUTE(B1,"「",""),"」","-")))) ※(行が長過ぎということで改行させています。コピペする場合繋げてねネ
↓
B列の関数式を以降の列にコピペ
※ただし途中の「原宿」入力などののセルが空欄になると表示が
「新宿-代々木」 「渋谷-恵比寿」
のようになりますが。
ごくろうさんだけど 「」は入力されてないとおもうよ
>>553 ひとつにしたいセルを選択、
テキストエディタ(メモ帳とか)に貼り付け、
間の空白を-に置換
じゃダメなん?
枠線を毎回プロパティで変えるのが手間なので、
>>549 の質問をしています。具体的には、
図形を左クリックする
右クリックする
図形の書式設定をクリックする
線のスタイルをクリックする
幅がデフォルト2.0ptになっているので0.75ptにするために5回クリックする
閉じるをクリックする
で合計10回クリック必要です。
でこの状態で規定の図形に設定した場合、自分で新規作成したファイルでは その設定が有効になるのでOKです。 しかし問題は他人からもらったファイルを編集する場合で、そのファイルでは またいつものブルーの図形がデフォルトになっていて、結局また10回クリックするか、 他のファイルの図形の書式をコピーする必要があります。 これを回避する一案として、図形のスタイルを自分で定義し追加するにはどうしたらよいか、 が質問です。
他人に自分が作成したファイルを渡して、この図形をコピーしてつかってくれと頼む
>>558 それこそマクロがいいと思うよ。
てか、右クリックじゃなくてリボンから行けばそんなにクリックしなくて済むだろ。
561 :
名無しさん@そうだ選挙にいこう :2013/10/14(月) 22:06:17.54
【1 OSの種類 .】 WindowsXP-Pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい。 しかし今回は使わない 【4 VBAでの回答の可否】 否 ある基準の値(点数)を中心に仮想のランダムな得点分布を得るセル式を作りたいです。 平均を50点として、100人が受けて10〜90点内に分散する形です(正規分布に沿わなくて良い) 式としては A=10+FLOOR(RAND()*80) みたいになると思いますが、これだとエラーになります。 どうすべきでしょうか?
>>561 =10+FLOOR(RAND()*80,1)
とか
=10+INT(RAND()*80)
とか
最新のエクセルではファイルサイズが小さくなると聞いたのですが エクセル2002で作った100MBのファイルは、最新のエクセルで保存しなおすと、どのくらいのサイズになりますか?
ファイルをアップロードしてくれれば実験するよ
ちゃんとxlsbにした?
>>567 参考になりました。ありがとうございました。
>>568 しらねーよんなこたーよー
98kbyteまで下がったわ
571 :
名無しさん@そうだ選挙にいこう :2013/10/15(火) 12:15:55.91
A列、B列それぞれに下記の数値が入ってます。 A列 1 3 5 7 9 11 13 B列 1 7 3 5 11 9 13 A列も、B列も平均値、偏差値共に同じですが、 グラフにするとA列は綺麗に一直線に上昇するのに対して B列は山谷を描きながら上昇します。 これをグラフを使わずに数値化する関数、または方法はありませんか?
>>571 LINEST や STEYX の関連かな?
>>571 関数じゃないけど、グラフのなめらかさを調べるには普通は微分する
>>571 隣同士の差をとって、それの偏差値を見る
576 :
571 :2013/10/15(火) 16:34:53.68
皆さん、ありがとうございます。
今回は
>>575 さんの、隣同士の差の絶対値の偏差値を見る方法を採用させて頂きました。
他に関数一つで解決する方法があれば引き続きご指導ご鞭撻の程お願いいたします。
血圧測定として、1セルに、 [月/日_時]血圧上-下_脈拍数 の形式で、下記の様に入力した[表A]を、 午前だけ抜き取った[表B] 午後だけ抜き取った[表C] を作るには、どの様な方法がありますでしょうか? 宜しくお願いします。 [表A] [10/01_10]100-080_100 [10/01_20]100-080_100 [10/02_09]100-080_100 [10/02_22]100-080_100 [表B] [10/01_10]100-080_100 [10/02_09]100-080_100 [表C] [10/01_20]100-080_100 [10/02_22]100-080_100
>>577 B2=IF(MID(A2,8,2)*1>11,A2,"")
C2=IF(MID(A2,8,2)*1<=11,A2,"")
下にオートフィル、コピーして値で貼り付け
詰めたければ並び替えなり何なり
>>578 全く構式が理解できないないんですが、週末やってみます!
ありがとうございます(多謝)
A1= 52 A2= 53 A3= 54 A4= 57 A5= 55 A6= 56 A7= 54 A8= 53 A9= 55 A10= 57 A11= 59 A12= 60 A13= 59 A14= 62 A15= 63 A16= 65 A17= 64 A18= 67 A19= 71 この時A20を求める関数を教えて下さい。 100%の的中率じゃなくても構いませんが7割型的中させたいです。
>>560 確かに最終手段はマクロで、実際図形の矢印とかを
ワンクリックで書式設定したり、2003の頃に作ったものがあるんですが、
www.rupan.net/uploader/download/1381846522.gif
2010でその手はさえません。
2010ではスタイルなる機能があるので、それを活用するのがスマートだと思います。
スタイルを自分で定義し追加できない場合、リボン上のその部分が
実質使用しない無駄なスペースとなって、間抜けです。
結局図形のスタイルを自分で定義し追加はできるんでしょうか、できないんでしょうか?
582 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 01:30:29.70
【1 OSの種類 .】 WindowsXP-
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
すいません。
説明が下手なので画像を見て頂きたいのですが、
下記画像のような表がある時にB10に腕力が4以上の者の体重の合計を表示したいのですが、
何かよい関数はありませんでしょうか?
http://f.xup.cc/xup4XZ5q6yR.jpg
>>581 「セルのスタイル」なんかは「新しいセルのスタイル」という項目があって
自分で登録できるようになってるが、図形にはそれがないからなあ
ってことはできないということじゃまいか
あとは、ページレイアウトタブのテーマを好みの状態になるまで
いろいろ弄ってみるくらいしか思いつかない
>>582 SUMIF
>>583 ありがとうございます。
SUMIFで〜以上という条件にも対応できたんですね。
>>580 あってるかしらんけど
=A19+SUM(A1:A19)/COUNT(A1:A19)^2
n次関数を見分けるのはちょーしんどいので一次関数限定にした
586 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 06:31:31.87
表計算で単純なことが分からず苦戦中です。 先人の方、アドバイスお願いします。 例 A1に 「10」 を入力 B1に 「=A1*33%」 入力 C1に 「=A1*33%」 入力 D1に 「=B1+C1」 入力します。 そして小数点以下四捨五入した整数で表示したいのですが、こうなります。 A1「10」 B1「3」 C1「3」 D1「7」 となります。 当方は、D1の欄に「6」を入れたいのですが、どのようにしたらよいのでしょうか?
>>586 3.3+3.3=6.6なので四捨五入すると7になるのは当たり前です
自分の頭を治すしかないですね
588 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 06:47:45.90
>>587 3.3を3の整数にして計算して6と答えを出したいのですが。
説明不足でした。
>>586 エクセルは実際の数字と見た目の数字を別々に記憶しています
B1=A1*33%とした場合、「実際の数字=3.3」「見た目の数字=3」になります
計算は実際の数字の方で行われるので、B1+C1は6.6、四捨五入すると7になってしまいます
実際の数字を3にするには
=ROUND(A1*33%,0)
という、四捨五入するための式を書かなくてはなりません
>>586 A1に 「10」 を入力
B1に 「=int(A1*33%)」 入力
C1に 「=int(A1*33%)」 入力
D1に 「=B1+C1」 入力します。
どなたかお願いします。 E3、I3*100/5.6、M3*100/11.2、Q3*100/22.4、U3*100/28 これら5つの計算結果を合計したものをW3に反映させたいのですが、 更に条件式でY3="×"ならW3=""となるようにしたところ、 W3=IF(Y3="×", "",SUM(E3,I3*100/5.6,M3*100/11.2,Q3*100/22.4,U3*100/28)) というように考えつきました。 ところがこの式にしたところ、E3・I3・M3・Q3・U3のうち、 全てが空欄だとY3="×"になる状態なのでW3は空欄となり問題なく、 また5つ共に数値が入っている状態でも正しく全てが合計される一方で、 数値が入っているセルと入っていないセルが混在してしまうと #VALUE!表示が出てしまいます。 それを空欄を飛ばして数値が入っている分のみ合計して W3に表示させるためにはどのような処理を行えばよいのでしょうか。 色々と試したのですがどうしてもうまくいかないのでお訊きします。
592 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 07:17:56.86
>>589 早速ありがとうございます。
これでボーナス計算ができます。
助かりました。
593 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 07:20:02.17
>>590 ありがとうございます。
そのようなやり方もあるんですね。
試してみます。
594 :
591 :2013/10/16(水) 07:22:35.58
文章だけだと伝わらないと思ったので当該ファイルを載せます。
http://kie.nu/1q2Q それから失念していたのでテンプレも書いておきます。
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 避けていただけると幸いです
ほとんどExcelを理解できていない人間なので
出来ること出来ないことすら分からない状態です。
何卒よろしくお願いします。
>>591 =N(E3)*1
とかにすれば文字列は0とみなしてくれる
しかしこれだと文字列扱いの数字(「'5」や書式設定の文字列)も文字列扱いになるから =N(E3*1)*1 とかの方がいいいかねぇ どっちでもいいかねぇ
597 :
591 :2013/10/16(水) 07:46:31.15
>>596 早い回答、ありがとうございます。
N関数について調べてみました。
確かに文字列を0と認識すれば解決しそうですが、
これを =SUM(…) とどのようにくっ付けるかがサッパリ分かりません。
形としては上の…に入る5項目を全てN関数で認識するようにしたうえで
全てを足し合わせて合計をW3に表示する、ということになりますよね?
そんなことは可能なのでしょうか?
書式設定で買えられるのは値の見た目だけ また見た目は同じでもセルに入っているのが 数字扱いなのか文字列扱いなのかで関数の挙動も異なる
>>597 可能も何も、やれよ
できなかったらまたキキにおいで
SUM(N(E3),N(I3)*100/5.6,N(M3)*100・・・
>>598 いや、変わる
MsgBox = TypeName(Cells(1, 1).Value)
で確認するといい
書式設定が標準の時だとdoubleだが、
書式設定が文字列の時だとstringになる
数字を入れた後に書式設定を入れても変わらないけどね
それは「標準」だからだろ…
> 数字を入れた後に書式設定を入れても変わらないけどね > 数字を入れた後に書式設定を入れても変わらないけどね > 数字を入れた後に書式設定を入れても変わらないけどね
そりゃ書式が標準指定のために、 値を入力した時点で自動で文字扱い→数字扱い変換されてるだけじゃないのか?
数値でも文字列でも何も入ってなければtypenameはemptyだな
606 :
601 :2013/10/16(水) 08:44:20.36
あぁ、すまん。cells(1,1)に1と入力してある場合な
607 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 09:56:49.04
>>580 B1〜B19に1〜19を入れて
A20: =SUM(LINEST(A1:A19,B1:B19)*{20,1})
で求まる
608 :
591 :2013/10/16(水) 10:05:33.41
W3=IF(Y3="×","",SUM(N(E3),N(I3)*100/5.6,N(M3)*100/11.2,N(Q3)*100/22.4,N(U3)*100/28)) という形で無事に思い描いた通りに動いてくれました。 皆さん知恵を授けてくださりありがとうございました!
2行の行データをコピーで数式の貼り付けをしたいのだけど、 参照元が1行ずつ並んでいるので、貼り付け先には1コ飛ばしで数式の値が変わってしまう (貼り付け先は2行で1項目、参照元は1行の中に出力の2行分の入力スペースがある) 貼り付けるときに任意の数値で加算させていくことはできますか?
610 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 11:45:46.65
なんかややこしいので、もっと単純な質問に変えます・・・ A1とA2を結合していて、値に1を入力 A3とA4を結合して、値に2を入力 A5以降、3,4,5,6と順番にオートフィルでコピーしたいが、やってみると 5,7,9と1飛ばしでコピーされて行ってしまうが、連番でコピーする方法はありますでしょうか
>>910 コピーする方法はないが
B1=INDIRECT("r"&(ROW()-1)*2+1&"c1",0)
で下にオートフィルすることにより
1飛ばしのあれがそれになる
>>610 A1:A4を選択してそれを引っ張ってオートフィルしたらどうよ?
614 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 16:21:49.43
初めまして とてもつまらない質問をさせていただきたいのですが、 エクセルのアイコンの後ろに.xlsxというのが付いてあります。 これを消すにはどうしたらいいのでしょうか。 以前は無かった気がしますが、最近急に現れた気がします。 エクセルは2010です。あとワードも.docxというのを消したいです。 よろしくお願いいたします。
>>610 実際は参照がやりたいんですよね?
値だとうまく行ってしまうので
一つのブックに2つのブックを表示さすにはどうすればいいんですか
>>614 「拡張子」でググるといいよ。おそらくフォルダオプションで拡張子を表示する設定に変更したか
xlsだと標準認識されるため表示されず、xlsxは認識されないため表示されるようになった
このいずれかだと思う
いずれにしても拡張子は結構重要なので、セキュリティの面からも表示しておく事を勧める
ファイル形式が違うと互換性の問題も起きるしね
618 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 18:28:59.69
>>617 ありがとうございます。
クグって調べて出てきたのですが、
どうもアクセサリーのところでエクスプローラを選択して、
その後ツールを選択してという事でした。
それがエクスプローラは無く当然ツールも無く、
それでうまくいきませんでした。
また調べ直してきます。
>>618 >エクスプローラは無く
いったいどんなOS使ってんのよ
もっと古いのは俺も知らんけど
少なくともウインドウズ95以降のウインドウズなら
絶対にエクスプローラーあるってば。
っつーか、今時使ってるのはたぶんXP、Vista、7、8のどれかでしょ?
マイコンピュータとかマイドキュメントとかを
ダブルクリックしたらウインドウが開くけど、
それがエクスプローラーだよ。
【1 OSの種類 .】 Windows7-64 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 VBAでユーザーフォームのコンボボックスをリストとして使用する場合 RowSourceで範囲または名前を指定しますよね。 この場合の範囲指定で、空白があった場合表示しないよう定義する事は可能でしょうか 範囲が以下の場合下図右のようにリスト表示したいという事です AAA AAA BBB → BBB (空白) シート内での入力規則の場合は関数で可変化は出来たと思うのですが・・・。 よろしくお願いします。
rowsourceじゃなくadditem使うとか
IF(ISERROR(VLOOKUP(A1,somename,2,0)),"",VLOOKUP(A1,somename,2,0)) こういう式を書くたびにVLOOKUP()の部分を1つだけにできないかと思っているんですが いい方法は無いでしょうか?変数に代入とか
623 :
名無しさん@そうだ選挙にいこう :2013/10/16(水) 21:31:47.30
>>622 IFERROR VLOOKUPでググる。Excel 2003以前だったら窓から投げ捨てる。
>>624 ,625
ありがとうございます
助かります
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ┏━┳━┳━┓ ┃62┃ ┃39┃ ┣━╋━╋━┫ ┃ ┃53┃ ┃ ┣━╋━╋━┫ ┃ ┃ ┃ ┃ ┗━┻━┻━┛ このような表があります。 空欄に適当な数を入れて、縦横斜めに足した合計が同じになる 魔法陣を完成させたいのです。 これを「ソルバー」を使って解決したいのですが上手く行きません。 どうすれば上手く行きますか? アドバイスお願いします。
>>627 そういう問題はGRG非線形では失敗することが多い
シンプレックスLPでやってみ
629 :
627 :2013/10/17(木) 00:50:03.33
>>628 線形モデルで計算にチェックを入れるって事でしょうか?
すいません。
ソルバー昨日を全然使いこなせてません。
詳しく解説頂けると嬉しいです。
>>629 えーと、何がわからないの?
例えば「5+x=8」みたいな一元一次方程式をソルバーで解く方法はわかる?
>>631 最初から入ってる3つの数字は変わっちゃいけないんでしょ?
この場合、変化させるセルは「$B$4:$D$6」じゃなくて「$B$5,$B$6,$C$4,$C$6,$D$5,$D$6」じゃないの?
633 :
627 :2013/10/17(木) 02:46:24.01
>>632 >最初から入ってる3つの数字は変わっちゃいけないんでしょ?
はい、そうです。
制約条件で固定しなおせば同じだと思ってましたが、
ダメなんですね。
変化させるセルを指定しなおして見たんですが、
やはり「仮の解が見つかりません」
と表示されます。。。
>>634 わざわざ、ありがとうございます。
私の使ってるバージョンでは「解決方法の選択」という項目が
ないようです。
でも、考え方自体は間違ってないようなので、オプション等設定を試行錯誤してみます。。。
相変わらず「仮の解が見つかりません」と出ますが、
そのまま解を記入すると答えが何とか入りました。
>>635 まさかと思うけど、全部空欄のままスタートしようとしてない?
こんな感じで変数セルには初期値を入れておくんだよ
┏━┳━┳━┓
┃62┃. 1┃39┃
┣━╋━╋━┫
┃. 1┃53┃. 1┃
┣━╋━╋━┫
┃. 1┃. 1┃. 1┃
┗━┻━┻━┛
637 :
627 :2013/10/17(木) 03:38:34.17
>>636 あ、空欄のままだとダメだったんですね。
今回は(偶々)空欄にしてなかったですが、
知らなかったです。
勉強になります。
>>638 a列に入ってるとして
B1=RIGHT(A1,LEN(A1)-MAX(C1:Z1))
c1=FIND("/",A1)
d1=IF(ISERROR(FIND("/",$A1,C1+1)),0,FIND("/",$A1,C1+1))
Dを右にZ列ぐらいまでオートフィル
あとは下にオートフィル
他には正規表現で
/.*/
と
http:
を置換するという手もある。
正規表現わからなかったら気にしないでいいけど
エクセルで正規表現で置換ってできなかったっけ? 前出来たような気もするんだけど、気のせいかな
性器で痴漢ってなんかエロいな
あーググりなおしたら複雑な数式でできました すいません質問取り下げます
なにコイツ どの質問を取り下げるって言ってんだw
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 シート見出しのフォントを変えたいのですが方法が見つかりません どうすればシート見出しのフォントを変更できますか? 個人設定からシステムフォントのスクロールバーのサイズを変更で文字サイズを変える方法は見つけたのですがこれではフォントを指定できません
>>644 残念ながら変更はできません。
vbaが使えるならシート見出しを1から作って下に配置、という方法もできるかもしれませんが現実的ではないです
レジストリいじってみるとか
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 ほんの少し 【4 VBAでの回答の可否】 可 2003から2010に乗り換えたのですが、セル内で改行すると自動的に「折り返して全体を表示する」になってしまいます。2003ではこんなことはなかったのに。 その度にセルの書式設定を開くのが大変面倒なのですが、これはどうにかなるものでしょうか?
>>648 あー、やはり仕様変更なんですか! 2010で作ったファイルはいつもこの症状が起きるのに、2003で作ったファイルを2010で修正する際には起きないので、不思議に思ってたんですよ
VBAも見てみます、ありがとうございました!
郵便局が出してる郵便番号データのcsvを検索用シートとして 作っているエクセルファイルで使いたいのだけど、 シートのコピーや、データを行コピーしようとしてもエラーがでる データがでかすぎるとコピーできないのでしょうか
せめてエラーメッセージ位貼ろうとあもわない
製品の型番からメーカー名を求める数式を書きたいんですが苦戦しています 型番は「アルファベット1文字以上+空白0文字以上+数字1文字以上」のような形式で 最初のアルファベット1文字以上の部分をVLOOKUPで検索しようと思っています 文字列から最初のアルファベット部分だけを取り出すにはどうすればいいでしょうか? Excel2010です。よろしくお願いします
>>653 A列に入ってるとして
B1=IF(ISERROR(FIND(" ",A1)),"",FIND(" ",A1))
C1=IF(ISERROR(FIND(COLUMN()-2,$A1)),"",FIND(COLUMN()-2,$A1))
K列まで右にオートフィル
L1=MIN(B1:K1)
M1=LEFT(A1,L1-1)
正規表現のほうがいいけどね~
1-9+空白ならこっちのほうが早いか
655 :
653 :2013/10/18(金) 17:46:13.25
>>654 どういう仕組みか分からないけどできました。ありがとうございます
正規表現はアドインのやつですか?
>>655 アドインにあるのかな?よく知らない
vbaでできるよ
657 :
653 :2013/10/18(金) 18:01:08.63
>>656 ありがとうございます
vbaで作った関数をエクセルの数式として使えることを知りませんでした
A1=木村太郎 B1=木村 この時 C1にA1からB1の文字を削った「太郎」と表示したいのですが、 良い方法を教えて下さい。
substitute
ありがとうございます。 できました。
661 :
名無しさん@そうだ選挙にいこう :2013/10/19(土) 01:10:47.09
A1に「B1+5」という数式がある時に これを別のセルにコピペやオートフィルすると B1がコピペするセルによって変化してしまいます。 これを変化させずにコピーする方法はありませんか? ドルで固定や数式をテキストとしてコピー以外の方法でお願いします。 大量にコピーしたいセルがあるので一つ一つコピーや固定すると とても時間が掛かってしまうためです
>>662 それはテキストとしてコピーに当たります。
それでは時間がかかります。。。
マクロ使えるテキストエディタなら時間かからんと思うが… まぁ普通にVBAで書き換えたら?
>>663 メモ帳経由って、数式バーのコピーじゃないぞ
セル(複数)をそのままコピペできるんだが、それでも時間がかかるって、いったい何がやりたいんだ
あとは全セルの「=」を「'=」に置換、コピペが終わったら再置換で元に戻すとか
マクロを仕込んでクリップボードの中身を強制的に書き換えるぐらいしかない
マクロでやりゃいいじゃん 普段のコピペをどうやってるか知らんが コピーとペーストのマクロを作ってCtrl+C、Ctrl+Vに割り当てる
>>664 VBA勉強してみます。。。
>>665 その方法だと列や行がばらばらの場合に対応出来ないですよね。。。
お二方ありがとうございます。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 セルの書式の、表示形式ですが、ユーザー定義で、 1.整数か0なら、すべてに-をつける(12→-12、0→-0、-5→-5) これは-0;-0;-0とすれば出来るんですが、 -0;-0;-0だと少数が全部、小数点以下四捨五入の整数に化けてしまいます 2.小数の場合、-をつけた上で小数点以下も表示、(5.6→-5.6) 3.小数点以下が1桁の場合はドットより先を1桁だけ表示(5.6が-5.60と出たら駄目) 4.数点第2位があるものは四捨五入せず第2位まで表示(5.65→-5.65) 1〜4を全部満たす方法は無いでしょうか?
>>668 四捨五入はどうにもならない
-0.##
とすれば1-3までは条件を満たせる
どうしても4を満たしたいなら、作業列を使うか、vbaでなんとかするしかないかねぇ
-G/標準;-G/標準;-0
671 :
668 :2013/10/19(土) 09:52:02.78
ドルで絶対指定は絶対したくないんだとさ
$で大量コピーした後に、置換で$消しゃ良いじゃん
すまん、変換ミス
全然、神じゃないし 削除は出来ても、絶対参照は1つずつやらんと行けないし
indirectという手も
すいません。 質問です。 A1に100、B1に105が入ってる時に C1にB1が100前後5の時にTrueを返したいのですが、 and関数を使わないでこれを実現できないでしょうか。
A1は何のためにあるのか
>>680 すいません。A1はなくても構わないんです。
A1±5ということなら =((B5<=A5+5)*(B5>=A5-5))>=1
and使ったほうが短いけど; =AND(B1<=A1+5,B1>=A1-5)
=ABS(B1-100)<=5 だろ
修正 =((B1<=A1+5)*(B1>=A1-5))=1
>>679 > and関数を使わない
Or と Not でできる、ド・モルガンの法則でググれ
688 :
679 :2013/10/19(土) 16:25:30.03
皆さん、ありがとうございました。 勉強になりました。
【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 例えばA列には2の、C列は4、E列は7の累乗が複数行あるとき、 ACE行にある数を比較して公倍数を全て調べるにはどうすれば良いでしょうか 該当する数の隣(AならB列)にチェックを入れていく方法や 他のセルにリストアップする方法など 普通と思われる方法であれば手段は問いません
よくわかんないけど28で割り切れるかどうかを調べればいいんじゃないの
このスレで回答するには、Excelの知識以上に変な文章をエスパーするスキルが要されるよな
2,3行でいいから具体的なデータと、求める結果を書いてみ
693 :
名無しさん@そうだ選挙にいこう :2013/10/20(日) 15:21:07.83
そもそも無限にある公倍数を全て求めるとはどういうことか
>>690 の言うとおり、
公倍数を調べたいのなら最小公倍数の倍数になるかを調べればいいのでは?
Excelというより数学の問題だが
>>689 公倍数はむりだろ。
それぞれ累乗した数と同じ数がどれだけあるか
と読み替えてみる
A1=POWER(2,ROW())
B1=COUNTIF(A:A,A1)+COUNTIF(C:C,A1)+COUNTIF(E:E,A1)
C1=POWER(4,ROW())
D1=COUNTIF(A:A,C1)+COUNTIF(C:C,C1)+COUNTIF(E:E,C1)
E1=POWER(7,ROW())
F1=COUNTIF(A:A,E1)+COUNTIF(C:C,E1)+COUNTIF(E:E,E1)
下にいっぱいオートフィル
でもすぐに桁が溢れてしまうな
なにに使うか知らないけど、数学ソフトとか使ったほうが良さそう
696 :
名無しさん@そうだ選挙にいこう :2013/10/20(日) 17:02:54.87
なんか、質問にかけてる部分がありそうだな。
697 :
名無しさん@そうだ選挙にいこう :2013/10/20(日) 17:42:13.04
>>697 F2押しましょう
編集モードが変わります
>>698 ありがとうございます。
オプション設定とかでは回避できないのですね(泣)
700 :
名無しさん@そうだ選挙にいこう :2013/10/20(日) 20:43:03.02
EXCELで累計が加算される積み上げ折れ線グラフを作りたいのですが、イメージ通りにいきません。 例えばAさんの売上 1月50万、2月30万、3月70万 ・・・なら 1月50万、2月80万、3月150万の折れ線グラフです。 これにBさん、Cさんを加えて、元の表を変えることなく、作る方法はありますか? そもそも積み上げ折れ線グラフと何を積み上げてるのでしょうか? またどういう用途で使うのですか?
>>583 遅レスですがありがとうございます。
マクロ対応します。
一生使わない機能のボタンがでかでかと並ぶ割に、個人的によく使う機能に
クリック数かかるようになり、さらにカスタマイズしづらいようですので、
せっかく条件付き書式の条件設定数が増えたり改良されてるのに、台無しです。
どうも2010になってカスタマイズした2003に比べ
自分の使い方ではクリック数が増えて生産性がかなり下がりましたが、
モーダルのUserForm上にボタン並べる形のマクロでしのぐことにします。
今後ver上がっても多分期待できないな。。。
>>700 累計の行を作ってグラフのデータにする
グラフの用途を聞かれてもなw
何のためのグラフを作りたいんだよ?w
>>702 作業列を作るしかないんですね。。
参考までに積み上げ折れ線グラフとはどういうグラフなのか知りたかったのです。
SUBTOTAL
>>704 そんな関数もあるんやね
使わせてもらいます。
とんくす
707 :
名無しさん@そうだ選挙にいこう :2013/10/21(月) 20:15:22.31
1列でも1行でも 並び方を逆にして貼り付けはどうすればいいですか? 形式を選択して貼り付けの「行列を入れ替える」とはちょっと違います。
貼り付けてから連番を振って並び替えるしかない
709 :
707 :2013/10/21(月) 20:38:53.34
>>708 なるほど、頭いいね!
やってみます。
ところで
1列でも1行でも並び方を逆にして、さらに空白セル1個間にはさみながら貼り付けはどうすればいいですか?
VBAでやれ
だから連番振って並び替え。空行にも同じ連番を振って+0.1してすべてを対象にして並び替える
712 :
名無しさん@そうだ選挙にいこう :2013/10/21(月) 21:24:38.78
>>711 なるほど、頭いいね!
IQはいくらですか?どうすれば頭の回転が良くなりますか?
【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 記録なら 【4 VBAでの回答の可否】 可 1列5行分の入力セルがあり、そこに1回だけ1と入力する。 誤って2回以上入力したり、他の数値を入力したりするのを阻止したい。 どうしたらよいか教えて下さい。
714 :
名無しさん@そうだ選挙にいこう :2013/10/21(月) 22:41:31.55
条件付き書式がややこしくなりました。 以前Excel2003を使ってたころは条件を関数で書くということをよくしてたんですが Excel2007にしてからいわゆる「おせっかい便利機能」が増え過ぎて、以前のように使うにはどの項目を使えばいいですか?
>>713 A1:A5を選択
入力規則でユーザー設定の数式を =COUNTIF($A$1:$A$5,A1)=1
>>715 ありがとうございます。
入力規則はどうも分からないので助かりました!
入力規則はコピペをスルーしちゃうのでおすすめしない 条件付き書式で色変更の方がいい
=IF("a"<100000,2,3) だと3が返ってくるのですが、 文字列と数値は何を基準に比較しているのでしょうか 文字コードというわけでもないと思うのですが
>>714 そういや俺も知らんわ
ホーム 条件付き書式 新しいルール 数式を使用して
を選んでるけど何かいい方法あるのかな
>>718 この辺りが絡んでくるのかな?
正しく Excel で英数字のデータを並べ替える方法
support.microsoft.com/kb/322067/ja
2003を使ってます。 a列に日付 b列に時刻 c列に始値 d列に高値 e列に安値 f列に終値 が入って株の1分足データが有るんだけど これを30分足にする方法を教えて下さい。 VBA不可でお願いします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 大量のファイルに罫線や列を挿入といった作業を自動化するために マクロを作ったのですがファイル数が50000以上有るため一度に開けません。 その為少しづつファイルを開いてマクロで処理してますが、時間がかかってしまいます。 どうしたら解決できますか?VBAを使わないと無理なんでしょうか?
>>722 VBA使っても時間がかかるのは変わらないと思いますよ。
ただ、かなりの程度処理を自動化できるから
VBAで組んだマクロを実行した後は
放っておけば勝手に終わるようにできるでしょうけど。
てか、WinXPにExcel2000っていうと
使ってるPCのスペックが少々古そうな印象なのですが
その辺は大丈夫ですか?
725 :
722 :2013/10/22(火) 01:36:32.21
ありがとうございます やはりVBAを勉強するしかないのですね PCが古いのは問題ないです
726 :
名無しさん@そうだ選挙にいこう :2013/10/22(火) 07:50:02.32
>>719 やっぱりそこでいいんですね。
こういう「おせっかい機能」はどうにかして欲しいよね。
Windowsでもそう。
TCP/IP設定の画面を出すのにWindows7にしたらいっきに分からなくなった。
Windowsをつくるプログラマのセンスは著しく劣るな。
学習能力がないことをそんなに自慢しなくても バージョンが変わるごとに設定画面の場所やデザインが変わるのってMacOSやLinuxのがひどいぞ まだ入り口がちょっと違うだけで入ってしまえば同じのWinの方がマシ ついでに言えばCUIベースならどのOSでもネットの設定はほとんど変化がない
【1 OSの種類 .】 Windows xp,vist,7 【2 Excelのバージョン 】 Excel2000〜2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 vba無しでそのブック自身のパスって取得できますか?
>>728 =CELL("filename")
Excel的な表記になるけど
730 :
728 :2013/10/22(火) 12:35:23.68
>>729 なるほど、自分自身を参照するわけですね。
ありがとうございました。
732 :
721 :2013/10/22(火) 18:51:27.98
何方かお願いします
>>721 元のデータと出来上がったデータの見本があればあすぐに作れると思う
多分範囲指定してminとかmax使うことになると思う
734 :
721 :2013/10/22(火) 19:19:45.33
日付,時刻,始値,高値,安値,終値 2013年3月1日,6:54,94,100,81,98 2013年3月1日,6:55,98,105,97,97 2013年3月1日,6:56,97,97,90,96 2013年3月1日,6:57,96,96,94,94 2013年3月1日,6:58,94,96,90,91 2013年3月1日,6:59,91,92,90,90 2013年3月2日,8:00,96,101,96,97 2013年3月2日,8:01,97,100,95,99 2013年3月2日,8:02,99,103,93,94 2013年3月2日,8:03,94,99,93,95 2013年3月2日,8:04,95,100,88,98 2013年3月2日,8:05,98,103,93,103 2013年3月2日,8:06,103,103,96,97 2013年3月2日,8:07,97,99,94,95 2013年3月2日,8:08,95,96,90,93 実際のデータの一部をコンマ区切りにしたものです。 為替のデータ何ですが、日付が変わる部分で時間が開いてしまってるので オートフィルでは対応が難しくて困ってます。 例えばこれを5分足にすることは出来ますか?
736 :
721 :2013/10/22(火) 19:49:29.34
>>735 ありがとうございました。
作業列を作って判定をさせるのですね。
勉強になりました。
>>722 各ファイルのパスやファイル名と行列に一律性があればvbaにて可能。
一度に開かないで、1ファイルづつ読み処理してから閉じ、次のファイルを開くように組む。
どうしても必要なら有料にてお引き受けします。w
EXCEL2003のファイルで他のブック内のセルにリンクを貼っていると、起動時に 「自動更新しますか?」 とメッセージが表示されますが、2007に変えてから表示されなくなりました。 これを2007でも表示させることは可能でしょうか? オプションの リンクの自動更新前にメッセージを表示する はオンにしています セキリティセンターの すべてのブック リンクの自動更新を有効にする は無効にしています
>>737 ファイル名はバラバラ何ですが、格納してるフォルダ名には日付が入ってるので一律性はあります。
ファイル名に規則がないと無理でしょうか?
因みにおいくらですか?w
>>739 エクセルVBAスレで詳細を書いて聞けば良いよ
きちんと要件が整理されたら
タオパイパイ辺りがタダで作ってくれるよ
誘導ありがとうございます。 上司に相談して要件を整理してみます。
ピボットでフィルタかけてサマったらだめなんかね
>>706 リボンにマクロでもいいですが、ボタンでかいので、UserFormに
ボタンで対応しました。冴えないけどもういいやマクロで。。。
Sub Set_Zukei_Style()
On Error Resume Next
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
.Solid
End With
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
.Visible = msoTrue
.Weight = 0.75
End With
With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 0, 0)
.Transparency = 0
.Solid
End With
End Sub
Excelを使って例えば1〜5の数を並べた場合の順列を全て書き出す方法ってありませんか?
順列がいくつあるかを計算する関数ならある 書き出すのはVBAでつくるしかない
四進数を求めてゼロを五に置換するだけだろ
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 アマゾンの注文者の住所をエクセルに貼り付けて送り状伝票を作成しているのですが、困っていることが2点あります。 1.住所表記が1-11-16となっていると37211と表示変換してしまいます。セルやシートの表示形式を文字列にしても、貼り付けるとこうなってしまいます。 2.欲しい情報が決まったセルになく、人名がA26にあったりA27にあったりとマチマチで困ってます。 (A1からH19までの領域に、「=」でデータを参照させて伝票の形にあった配置にして印刷しています) なにかいい案はありますでしょうか?
>>748 レスありがとうございます。
元のデータはブラウザに表示されてる住所とか品名の部分で、一部を選択して貼り付けてます。
ブラウザでctrl+cして、エクセルにctrl+vで貼り付け
2アクションで済むのがラクでいいんですよ。
2.は下記のように
配送先住所: 配送先住所:
000-0000 000-0000
□□県 □□県
○○市4-8-4 ○○市1-2-24
○○ ○○様 ハイツ△△△
○○ ○○様
という具合に名前が4行目にきたり5行目にきたりするんですよ。
A10の位置に、=A2+A3+A4+A5+A6と数式で住所を繋いだりして表示させて印刷しています。
が、A6の位置に名前があったり住所時だったりでどうしようかと・・・
説明が下手でスイマセン
A列に任意の文字が入ってて、行が非表示になってるとき、行を再表示させずに 最下行の値を得るにはどうすればいいでしょうか? 例えば、A2〜A10に文字が入っており、A7〜A10が非表示なってるとします。 このとき、Range("A65536").End(xlUp).Row を実行すると6が得られますが、 実際に文字が入ってるのは10行目なので10を得たい。
>>747 表示形式をユーザー定義で「y-m-d」にしてみるとか
>>750 表示させたいセルに+A10と入れれば良い
>>749 うーん、物がない+どう変化するのかわからないとどうにも出来ない。
一度コピーしてメモ帳に貼り付け、それをさらにコピーして貼り付けるとなにか楽になるかもしれない。
俺ならhtmlソースから抜き出すんだけどな。
Aシートにソースを全部張って、Bシートに出力させる。
難しいよねぇ。
>>750 「vba 非表示の最終行を取得」で検索
http://www.niji.or.jp/home/toru/notes/8.html 今初めて見たけど、このページ凄い勉強になった。
maxrow、maxcolで最終行と列が取れる。
っていうかそういうのこそ用意してほしいんですけどねぇ。
Sub Macro2()
With ActiveSheet.UsedRange
MaxRow = .Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
MaxCol = .Find("*", , xlFormulas, , xlByColumns, xlPrevious).Column
End With
End Sub
754 :
750 :2013/10/23(水) 20:37:55.26
>>753 ありがとうございます。
上手くいきました。
>>751 表示形式は文字列に変えてロックのチェックを外してるんですが、ペーストするとダメなんです。
>>753 ペーストするときに条件付き貼り付けでテキストってのはやってみたりしてるのですが、
エクセルに不慣れな人間に作業させることがあるので、工程はなるべく単純化させたいのですよ・・・
>>755 ペーストしてから表示形式を変更すれば良い
面倒ならマクロ組めばおk
>>756 うーん、はっきり言って、私はこのスレではかなり優しい方なんだけど、それを覚えておいてね
不慣れな人間に作業させる時は、慣れてる人間は相当に神経を使わないといけないの
このスレで言うと、慣れてる人間が私で、不慣れなゴミがお前なのね
それができない人間は「不慣れな人間に”楽な”作業させる」べきじゃないか、
そもそも「不慣れな人間に作業させる」べきじゃないと思うの
一番いいのはapiを叩くことなんだけど、なんかアフィ用のしかないわね
さっさとvba使ってhtmlからxmlへ正規化すればいいと思うわ
超絶ヒントよ
PHP言語と
simplexml_load_string()
で全部解決するわ
頑張ってね
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 運送会社で仕事をしていて、A列に車のナンバー、B列以降に行先、運賃、走行距離等が入ったものを 月末に一月分まとめて自社の車(30台)と協力会社(70台)の車に分けて集計します。 いままでのやり方はA列をキーにして昇順に並べ替え、ナンバーが書かれた紙を見ながら 該当するものに印つけたり、列を選択→検索で1件づつ確認していたのですが、関数を使って簡素化したいです。 1122 5577 9933 7788 3311 5577 7788 3311 たとえば↑これを、A列の後ろに列を挿入して、そこに5577と7788が自社のナンバーとしたら、 1122 協力会社 5577 自社 9933 協力会社 7788 自社 3311 協力会社 5577 自社 7788 自社 3311 協力会社 のように表示するにはどうすればいいでしょうか?
760 :
名無しさん@そうだ選挙にいこう :2013/10/23(水) 21:38:01.72
> 759 B1に、=if(or(a1=5577,a1=7788),"自社","協力工場") で、B1から下へ、ずるっとコピー。
VLOOKUPでしょ
762 :
759 :2013/10/23(水) 21:58:39.76
>>760 さん
さっそくのレスありがとうございます。
明日会社にいったらさっそく使ってみようと思います。
協力会社が複数あると、次はその社名を入れて区別したくなり 車番の運転手、或いは車検等の情報も欲しくなるのでは? となれば別シートに必要なものを入れ 車番をキーにしてindexとmatch関数の参照がよろしいかと思いまする
764 :
759 :2013/10/23(水) 22:37:18.62
>>761 さん、
>>763 さん
レスありがとうございます。
763さんのおっしゃるとおり、社名ごと、運転手ごとでの抽出も関数でできればしたいのです。。。
手作業で抽出することよくありますので。
別シートを参照するやり方と、VLOOKUP、INDEX、MATCH関数調べてみます。
765 :
名無しさん@そうだ選挙にいこう :2013/10/23(水) 22:43:56.59
【1 OSの種類 .】 Win7 【2 Excelのバージョン 】 2007 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 | A | B.| C.| D | E | F | |6|2|3|1|5|4| 上のようにランダムに1から6までの一桁の整数が ランダムに打たれたセルが1行に並ぶとして 例えば | A | B.| C.| D | E | F | |1|2|3|4|3|6|や |1|3|3|4|4|3|のように 同じ数がこれらのセルで出現したら 当該行の右、G列のセルに「1」を出したいんですが、 どのようににしたらいいのでしょうか、 教えて下さい。
>同じ数がこれらのセルで出現したら ってのがよく分からんけど、同じ列に同じ数字が入ったらって事? それとも1行目と2行目の数字が全部同じならって事? 何れにしてもIFとCOUNTIFでできるよ
>>765 A2=COUNTIF($A$1:$F$1,A1)
F2まで右にオートフィル
G2=COUNTIF(A2:F2,">=2")
1かどうかしらねぇが、癌ばれ
>>766 わかりづらくてすみません!
同じ列に同じ数字が入ったらって事です。
>>765 作業列を使わない方法のひとつをば・・・
G1セルに =IF(COUNTIF(A1:F1,1)*COUNTIF(A1:F1,2)*・・・COUNTIF(A1:F1,5)*COUNTIF(A1:F1,6),"",1)
A1〜F1のセルに順番はともかく、必ず1〜6が入っていれば
COUNTIF(A1:F1,1)*COUNTIF(A1:F1,2)*・・・COUNTIF(A1:F1,5)*COUNTIF(A1:F1,6) は1になるので、
IFの判定部分はTRUEとみなされる。
どれか重複があるということは、どこかのCOUNTIF()がゼロになるので最終的に 1 が表示される。
「同じ数が出現」じゃなくて「ない数がある」を判定してるから、邪道かもしれませんが。
と書いたところでリロードしてみたら・・・どういうこと?
770 :
769 :2013/10/23(水) 23:32:44.74
>>765 ,768 判定対象はA1:F1で、結果をG1に そして判定の内容は
A1:F1の1行×6列のセルに、順不同ながら1から6まであればなにもださず、
重複した数字があれば、重複の状況にかかわらず1を表示させる、ということではないのですか?
771 :
765 :2013/10/23(水) 23:39:29.58
>>769 さん重ね重ねスミマセン
その通りです。
頂いたヒントで、そうかIF使えばと思い、下記のような長い式を書いてみました。
=
IF(A1=B1,1,IF(A1=C1,1,IF(A1=D1,1,IF(A1=E1,1,IF(A1=F1,1,
IF(B1=C1,1,IF(B1=D1,1,IF(B1=E1,1,IF(B1=E1,1,IF(B1=F1,1,
IF(C1=D1,1,IF(C1=E1,1,IF(C1=F1,1,
IF(D1=F1,1,IF(D1=E1,1,0)))))))))))))))
こんなので合ってるでしょうか?
>>768 これなら無限に行が増えても対応できるよ
G1=IF(COUNTIF(A:A,A1)*COUNTIF(B:B,B1)*COUNTIF(C:C,C1)*COUNTIF(D:D,D1)*COUNTIF(E:E,E1)*COUNTIF(F:F,F1),1,"")
773 :
772 :2013/10/23(水) 23:42:15.74
ごめん訂正 =IF(COUNTIF(A:A,A1)*COUNTIF(B:B,B1)*COUNTIF(C:C,C1)*COUNTIF(D:D,D1)*COUNTIF(E:E,E1)*COUNTIF(F:F,F1)>2,1,"")
774 :
769 :2013/10/23(水) 23:55:35.62
>>771 2行目の IF(B1=E1,1 が重複してますよ(上からひとつずつIFの部分が減っていくはず)
あと、4行目の IF(D1=F1,1,IF(D1=E1 は、IF(D1=E1,1,IF(D1=F1 がいいのでは?
縦方向に見ていくと、規則性がわかるでしょ。 終わりカッコの数は・・・確認してません
775 :
772 :2013/10/23(水) 23:59:00.58
まじごめん。イコールが抜けてたw =IF(COUNTIF(A:A,A1)*COUNTIF(B:B,B1)*COUNTIF(C:C,C1)*COUNTIF(D:D,D1)*COUNTIF(E:E,E1)*COUNTIF(F:F,F1)>=2,1,"")
>>774 様 ご指摘ありがとうございます。もう一回描いてみました。
=
IF(A1=B1,1,IF(A1=C1,1,IF(A1=D1,1,IF(A1=E1,1,IF(A1=F1,1,
IF(B1=C1,1,IF(B1=D1,1,IF(B1=E1,1,IF(B1=F1,1,
IF(C1=D1,1,IF(C1=E1,1,IF(C1=F1,1,
IF(D1=E1,1,IF(D1=F1,1,
IF(E1=F1,1,
"")))))))))))))))
こんな感じですね。
777 :
765 :2013/10/24(木) 00:23:51.41
>>775 様
実際にエクセルに式を入れてみて試しているのですが
どうもうまくいきません。
質問の追加になりますが、自分の作った式で
下記のように、空欄があった場合も同じ値と
見なされ、G1に1と表示されますが、
空白の重複については1と表示しないようにするには
どうしたらよいのでしょうか。
|6|2|5|4| | |
778 :
765 :2013/10/24(木) 00:30:59.69
>>768 の回答が誤っていました!
×> 同じ列に同じ数字が入ったらって事です。
◎> 同じ行に同じ数字が入ったらって事です。
まじめに考えて下さった
>>775 様本当にすみません!!
779 :
772 :2013/10/24(木) 00:46:03.93
>>777 空白を無視したいなら
COUNTBLANKで空白のセルの数を数えて
空白なら無視する様にしてはどうだろう。
780 :
774 :2013/10/24(木) 00:48:30.19
775ではないけれど A1=B1 だと 空白同士の判定でもTRUEになってしまうから AND(A1>0,A1=B1) にすると、空白同士であってもFalseになります。 ただし、かなり式が長くなりますね。 修正はメモ帳を使います。現在の計算式をコピペした後、 IF( を IF(AND(A1>0, に全部置き換え ,1 を ),1 に全部置き換え その後、2行目の A1>0 を B1>0 に手作業で置き換え、3行目はA1>0をC1>0に・・・ という具合に修正するとラクです。(EXCEL2010で動作確認済) ただし、空白じゃなくてゼロが入ると重複判定しません。 それではおやすみなさい。
781 :
765 :2013/10/24(木) 01:00:04.59
阿呆な俺に手を貸して頂きありがとうございます。メモ帳で書いてみました。 空白がランダムに出現することではどうにも式が考えつかないので、 数字が行の左側列から始まり、空白は数字が終わった後で出現すると固定して設定しました。 その結果、下記のような式になりました。 = IF(B1+C1+D1+E1+F1=0,"", IF(A1=B1,1,IF(A1=C1,1,IF(A1=D1,1,IF(A1=E1,1,IF(A1=F1,1, IF(C1+D1+E1+F1=0,"", IF(B1=C1,1,IF(B1=D1,1,IF(B1=E1,1,IF(B1=F1,1, IF(D1+E1+F1=0,"", IF(C1=D1,1,IF(C1=E1,1,IF(C1=F1,1, IF(E1+F1=0,"", IF(D1=E1,1,IF(D1=F1,1, IF(E1=F1,1, "")))))))))))))))))))
782 :
772 :2013/10/24(木) 01:15:00.02
>>781 ほらよ
=IF(IF(COUNTBLANK(A1),1,COUNTIF($A$1:$F$1,A1))*IF(COUNTBLANK(B1),1,COUNTIF($A$1:$F$1,B1))*
IF(COUNTBLANK(C1),1,COUNTIF($A$1:$F$1,C1))*IF(COUNTBLANK(D1),1,COUNTIF($A$1:$F$1,D1))*
IF(COUNTBLANK(E1),1,COUNTIF($A$1:$F$1,E1))*IF(COUNTBLANK(F1),1,COUNTIF($A$1:$F$1,F1))>2,1,"")
これなら空白が何処に合っても対応できる
783 :
765 :2013/10/24(木) 01:25:20.99
>>782 さん
試させていただきました。
これで何とかなりそうです。ありがとうございます。
それからこのスレの皆さんお手数をおかけし申し訳なかったです。お許し下さい。
これからは質問する事があれば、質問の趣旨を明快に分かるようにします。
>>765 0が入らないことが確定していれば
=PRODUCT(COUNTIF(A1:F1,A1:F1)+1) > 2^COUNT(A1:F1)
で配列数式(Ctrl+Shift+Enter)とういのもありかも。
>>446 の質問に対する
>>450 さん(SUMPRODUCT関数)とか、
今回の
>>765 の質問に対する
>>784 さん(PRODUCT関数)の
ような回答ができるようになりたいなあ。
関数の解説本のサンプルにある使い方しかできない自分が情けない。
そういうのは日記にでも書いててね
▼━質問テンプレ (必ず使ってね) ━━━ 【1 OSの種類 .】 WindowsVisuta 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 Web上にある連番のファイルをうまく保存したいんですが その連番はカンペキなものではなくて たとえば1.jpgから始まって280.jpgまで続いたあと 401.jpgに飛んでそこからまた508.jpgまで増えていって その次は1201.jpgから・・・みたいになってて途中に抜けがいくつもあって 欠番部分で処理が止まったりしないように連番保存をしたいんですが 何かイカス方法はありませんか? 保存するのにファイル名の変更とか重複チェックとかは要りません 保存する場所もExcelと同じ場所でもデスクトップでもいいし 強制上書きでもなんでもいいです 今のところは9999999.jpgより大きな数字はないみたいです ぶっちゃけ 1.jpgを保存しようとする あれば保存、なければ2.jpgへ進む この繰り返しで 最初にスタートとゴールの数字を指定するみたいな感じだけでOKです ルートディレクトリは変化しませんので安心します いわゆるダウンロードツールだと アイテム数が多すぎると読み込めなかったりしてポンコツなので Excelでひとつずつゆっくりと確実にDL試行をしたいんです 時間のかかるマクロでも構いませんが確実に保存したいです どうかよろしくお願いいたします
788 :
名無しさん@そうだ選挙にいこう :2013/10/24(木) 15:26:37.81
ポンコツ(笑)。 どういう意味ですか?
789 :
788 :2013/10/24(木) 15:29:52.52
790 :
788 :2013/10/24(木) 15:30:56.02
欠番部分は自動的に飛ばしてくれるので これがイカシタ(笑)方法でもある。
791 :
787 :2013/10/24(木) 15:35:05.83
すいませんポンコツなのはパソコンです
>>789 をやったらダブルクリックしたあとに動かなくなって
青い画面が出たあと電源が落ちました
一瞬壊れたかと不安になりました
ゆっくりでお願いします!!
悪いコト言わないからPC買い換えたほうがいいと思います。。。
なんでExcelでやろうと思ったのか不思議だわな やるとしてもxmlhttprequestとかだろうからVBAの範疇じゃねーしな そもそも連番ブルートとかクソ迷惑な処理作ろうとしてる時点でクズだわな
画像を1回保存するだけでブルート(爆笑
・ 9999999まで3割程度存在 ・ ファイルが小さ目として100KB で約300GBほどありますのでまずはパソコンスペック、通信回線等を整えたほうがよろしいかと
>>795 その発想だとダウンローダ禁止の鯖ないだろw
まあそれ以前にブルートフォースって総当りって意味合いであって
鯖負担がどうこう関係ないけど
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 以下のようなデータ(数値ひとつはそれぞれのセルに入力されている)を 右よりにしたい。 1 2 3 4 2 3 5 2 8 1 3 ↓ 1 2 3 4 ・ ・ 2 3 ・ ・ 5 2 ・ 8 1 3 いい方法はないでしょか。
799 :
787 :2013/10/24(木) 19:33:39.23
>>798 もすぬごく適当に
まずE列あたり作業列を使って4ケタ合体させる
そして出力のマスにはそれぞれ出力する位を決めておいて
たとえば千の位なら
=IF(4>LEN($E1),"",LEFT(RIGHT($E1,4),1))
にして
「4ケタないなら空欄」
「4ケタあるなら4ケタ取り出して一番左の数字」
が出てくるようにする
百の位なら
=IF(3>LEN($E1),"",LEFT(RIGHT($E1,3),1))
同じように銃の位は3を2に変えればいいし
1の位はもう=RIGHT($E1,1)でいいのかな
>>796 外付けのHDDがありますので保存容量は問題なしです
処理能力的に、ひとつずつのダウンロードをしたいというわけで
それでいてIrvineなどでダウンリストを小分けにするのは
(1万件を1000回とか)やりたくないのです
ひとつずつ、ダウンロードしては次に進むという
たったそれだけのシンプルなものでいいのでお願いします
鯖負担的にもひとつずつの接続なら緩やかなのではないかと・・・
800 :
800 :2013/10/24(木) 19:38:23.09
800
>>797 総当たりで暗号やパスワードを「解読」するのがブルートフォース
連番でもダウンロードでもない
>>798 VBA可ということなので・・・
Sub test()
Dim ary As Variant, tate As Long, yoko As Integer, y As Integer
Dim tate_s As Long, tate_e As Long, yoko_s As Integer, yoko_e As Integer
ary = Selection
tate_s = LBound(ary, 1): tate_e = UBound(ary, 1)
yoko_s = LBound(ary, 2): yoko_e = UBound(ary, 2)
For tate = tate_s To tate_e
For yoko = yoko_e To (yoko_s + 1) Step -1
y = 1
Do
If WorksheetFunction.IsNumber(ary(tate, yoko)) Then
Exit Do
ElseIf WorksheetFunction.IsNumber(ary(tate, yoko - y)) Then
ary(tate, yoko) = ary(tate, yoko - y)
ary(tate, yoko - y) = ""
Exit Do
End If
y = y + 1
Loop While (yoko > y)
Next yoko
Next tate
Selection = ary: MsgBox ("終了")
End Sub
右寄せしたい範囲を選択してから[Alt]+[F8]でマクロ一覧を表示させ、このマクロを選んでください。
すいません。 A1に日本の時刻が入ってる場合に B1にサマータイムを考慮したニューヨーク時間を表示したいのですが 良い方法を教えて下さい。
804 :
802 :2013/10/24(木) 20:24:15.89
>>802 の追加
範囲選択は[Ctrl]キーの併用で複数の四角形だったり、
四角形以外の形に選択できますが、そういうことすると
結果がおかしくなります。
>>803 サマータイムのルールは意外に複雑です
一発で簡単にやる方法はないでしょう
(1) まず14時間戻す
(2) 次に日付をチェック、サマータイムの切り替え日ならさらに時刻をチェック、
(3) サマータイムと判断できたら1時間進める
という手順が必要になります
数式だけでやろうとすると、かなり長い式になると思います
>>805 すいません。
サマータイムの判定方法を教えていただけないでしょうか。
>>806 サマータイムの切り替わる日付・時刻を知りたいの?
エクセルでの日付・時刻の計算方法を知りたいの? どちらですか?
>>806 サマータイムのルールは国と地域によってバラバラです
アメリカのニューヨークの場合
開始日は4月の第1日曜日
終了日は10月の最終日曜日
どちらも夜中の2時に切り替わり
始まる時(4月)は1時間進みます。1時59分の次が3時00分になります
終わる時(10月)は1時間遅れます。2時59分の次にもう一度2時00分が来ます
日付ではなく曜日で判定するため、数式がややこしくなります
>>809 はい。数式がややこしくなるのは承知しております。
私のExcel能力ではサマータイムのルールを数式に出来ずに困っております。
お力をお貸しください。
811 :
807 :2013/10/24(木) 20:58:06.15
>>808 単なる計算なら、以下をどうぞ。
A1セルには日付・時刻を設定しておいてください。(セルの書式で日付を表示する/しないは任意)
(サマータイム適用後の)時差がどれだけあるか知らないので、とりあえず -11(11時間遅れの意味)
としておきます。
B1セルの書式もあらかじめ設定しておくといいです。(セルの書式で日付を表示する/しないは任意)
B1セルには =A1-(11/24) と入れれば、11時間前の時刻(日付も表示するようにしておけば日付も)
が表示されます。
A1セルに時刻だけ入れても計算結果がマイナスだと###########・・・となって、うまくいきません。
>>811 日本とニューヨークの時差は14時間(冬季)、13時間(夏期)
俺はこんな面倒な式は書きたくないからがんばってくれ
813 :
798 :2013/10/24(木) 21:07:23.90
>>799 >>802 サンクスです。
VBAの方が自分のイメージしたとおりの動作でしたので
こちらの方を採用させていただきます。
>>811 すいません。
サマータイムのルールは下記になります。
3月第2日曜日 午前2時から
1月第1日曜日 午前2時までが
アメリカのサマータイムです。
これを踏まえてA1に日付時刻が入ってる時に、
B1にアメリカの時間を表示する具体的な数式を教えていただけないでしょうか。
815 :
814 :2013/10/24(木) 21:49:19.46
難しければ作業列があっても構いません。。。 何方かお願いします。
816 :
811 :2013/10/24(木) 21:50:44.18
>>811 A2セルにサマータイムが終わる(東部標準時に戻る)日付時刻を日本時間で設定
A3セルにサマータイムが始まる日付時刻を日本時間で設定
で、B1セルに=IF(AND(A1>A2,A1<A3),A1-(14/24),A1-(13/24)) でいいんじゃないですか?
元となる日付時刻がA2とA3に入力した日付時刻の間にある場合のみ時差−14時間で計算し、
それ以外の場合は時差−13時間で計算します。
>のままでいいのか=>にしなきゃならないのかは
>>809 さんの書いてくれたものなど参考にどうぞ。
A2セルとA3セルに入れる日付まで(A1セルの日付から)自動で求める必要があるの?
○月の第○日曜がどーたら、こーたらについては、詳しい人にパス。
>>814 =IF(AND($A$1>=DATE(YEAR($A$1),3,1)+14.0833333333-WEEKDAY(DATE(YEAR($A$1),3,1),2),$A$1<DATE(YEAR($A$1),11,1)+7.0833333333-WEEKDAY(DATE(YEAR($A$1),11,1),2)),$A$1-0.541666666666667,$A$1-0.583333333333333)
(A1B1の表示形式はユーザー形式 yy:mm:dd hh:mm で)
1セルにまとめるとクソみたいな長さになるがこれでどうかな
考え方:A1からその年の3月第2日曜と11月第1日曜を求め
2:00にするためシリアル値で加算
A1と比較し期間中であれば13時間、期間外であれば14時間時差を加える
あとはDST求める式使って、例外処理して仕上げ(3月10日の2時から1時間
11月3日の14時から1時間に該当したら1時間足し引きする)
セル内部に持たせてもいいけどIF文だと倍々で式が長くなるから
これだけは外に持たせたらいいと思う
DSTあまり詳しくないし、誤差あったらすまん
818 :
814 :2013/10/24(木) 22:39:28.12
>>817 試させて頂いた所確りど動作しました。
解説までして頂き大変勉強になりました。
ありがとうございます。
819 :
名無しさん@そうだ選挙にいこう :2013/10/25(金) 00:01:09.02
エクセルでオンラインゲームの特定の効果音がなった時にチャットに特定のを入力したいんですが、 VBA?っていうものを使うんですか? 何方かやり方教えてください。
820 :
訂正 :2013/10/25(金) 00:02:08.54
? チャットに特定のを入力したいんですが、 ○ チャットに特定の文字を入力したいんですが、
>>819 不可能じゃないけどめんどくさすぎる
そういうのはExcelじゃない方がいいと思う
普通はVB.Netとか使う
>>819 GM回避か?
なんにしろやめとけ、無理すぎる。
C#.NET辺りがいいだろう
823 :
819 :2013/10/25(金) 00:48:03.02
Excelには向いてない仕事何ですか? VB.NetやC#.NETってソフトを使えば簡単にできるんですね。 因みにお金があまりないのですが、それらはフリーソフト何ですか?
>>819 フリーソフト
全然簡単でも楽でもない。vbaより大分マシになるだけ
ついでに君のレベルからだと死ぬほどしんどい、というか多分無理だろう
825 :
819 :2013/10/25(金) 01:06:41.95
ありがとうございます。 Excelより優れたソフトがフリーであるんですね! びっくりしました。 そんなに難しいんですか! そう言われると益々やってみたくなりました。 VB.NetやC#.NETはどこからダウンロード出来ますか? 検索しても見つからないです。。。
マジでやめとけ。時間の無駄だしこのスレも無駄 あとnpro入ってるなら難しいというより無理
>>825 ソフトの名前は「Visual Studio」だよ
その中にC#とかVBが入ってる
これ以上はスレ違いになるから専用スレへ移動してね
828 :
819 :2013/10/25(金) 01:18:58.16
回答いただいた方ありがとうございました。 Visual Studioですね。 取り敢えずダウンロードしてみて難しいようなら諦めます。
829 :
名無しさん@そうだ選挙にいこう :2013/10/25(金) 06:58:36.32
A列に日付、 B列に文字列、 これをOutlookのカレンダーに移植したいのですがどうやりますか? Outlookのカレンダーには終日で入れ、とりあえず件名にB列の文字列を入れたい。
831 :
名無しさん@そうだ選挙にいこう :2013/10/25(金) 09:00:44.22
>>829 CSVにしてインポート
「ファイル」=>「インポート」 をみれ
832 :
名無しさん@そうだ選挙にいこう :2013/10/25(金) 09:08:11.35
>>831 Outlookからインポートできるのですか?
カレンダーにインポートするのはどうすればいいんでしょう?
A列に日付、B列に件名に入れたい文字列の、そのまんま東でちゃんとインポートされるんですか?
833 :
787 :2013/10/25(金) 11:23:57.66
あのすいません 結局ひとつずつ連番ダウンロードを試行することは不可能なんでしょうか? スタートとゴールの番号だけ指定できればいいんですが 鯖負担の軽減のためにも同時接続数が増えないようにひとつずつにしたいんです
別にできるけど、あまりにもダウンローダー向けすぎる機能なのでわざわざ作りたくない、時間の無駄 あとPCがしょぼすぎるのでどうやってもエラーが起きると思う 鯖の事は考えなくていいと思う
何も考えずにサンプルのコピペで作れば同時接続はたいてい1つになる
836 :
787 :2013/10/25(金) 12:17:45.40
サンプルというはどれもインデックスみたいなhtmlから リンクを辿って保存するものではないですか? そういったhtmlを読むことなく実行したいんですが・・・ 直接URLを指定して連番でひとつずつにしたいんです Irvineみたいなのだと10万件みたいなリストは読み込めないので困っています
>>837 そんなわけない
ダウンロードの方法なんてほかにも色々ある
100万件いけますか! 999万件もいけますか? いやそれはさすがに10回にわけるべきなのかな あとは100万件のリストを作らないと Excelって65535行までなんですよね これはこれで結構大変だ・・・
>>839 縦に6万件しか並ばないのは古いエクセル
今のエクセルは100万件いける
そもそもなんで1列しか使わないんだよ
表を横に広げれば古いエクセルでも100万件入るだろ
頭が固すぎて奥歯が折れるレベル
横に広げてもリスト読み込めるんです? 最近のパソコンはすごいんですなあ いつか私もパソプロになってみたいもんですv
奥歯だからしょうがない これ以上のアドバイスは無駄 以後、無視で
845 :
名無しさん@そうだ選挙にいこう :2013/10/25(金) 19:58:07.92
>>787 PowerShell使うといい、サンプル転がってる。
A1〜A10に数値が入ってる時にその中の最小値を求める式は =MIN(A1:A10) ですが、例えばA1に最小値が入ってる場合にA1と返す場合はどうしたらいいのでしょうか?
847 :
名無しさん@そうだ選挙にいこう :2013/10/25(金) 21:33:20.43
=ADDRESS(MATCH(MAX(A1:A10),A1:A10),COLUMN(A1:A10))
excel2003でセル幅を1.6にして、 そのグリッドにフリーフォームで線を引きたいんだけど、 altを押しながらクリックしてもグリッドに乗ってくれない 後調整でもいいので、うまくグリッドに乗せる方法ない?
図形の調整→位置合わせ→グリッド
852 :
846 :2013/10/25(金) 23:17:21.72
>>847 から頂いた式を参考に
=ADDRESS(1,MATCH(MIN(A1:A10),A1:A10,1))
という式を作ってみだんですか
セルにマイナスの数値が入るとエラーが出てしまうようです。。。
何方かお助けください。
853 :
846 :2013/10/25(金) 23:35:32.37
すいません。 自己解決しました。。。
数字の表の中から maxの値と minの値に続いてそれぞれの2番目3番目の数値をソートをかけずに検出する方法はありますでしょうか?!
856 :
854 :2013/10/26(土) 04:18:28.73
>>855 無事解決できました。ありがとうございます。
いくつでも制限無く設定できるのは良いですね。
>>855 進研模試の偏差値でいうと2ちゃんねるのニュース速報がおよそ45、民放地上波の報道ステーションが約40、
ニュース速報+は35程度の読者を想定しています。
2ちゃんねるの偏差値はもっと低いと思います ごく一部に頭のいい人もいますが、それ以上に頭の悪い人があまりにも多すぎて 偏差値をかなり下げています
0→1→2→・・・→9→A→B→・・・→Z→10→11→・・・→19→1A→1B→・・・ →1Z→20→21→・・・→ZZ→100→101→・・・109→10A→10B→・・・ のような連番ってオートフィルでできますか?
>>859 =DEC2HEX(ROW())
横向きにしたいなら値で貼り付け+行列の入れ替え
それってただの16進数では・・・?
oh、途中までしか見てなkったスマン
ユーザー設定リストだとケタの繰り上がりが上手く機能しないんです・・・
とりあえず3桁、先頭にスペースが入るから適当に削ってくれ =CHAR(-16*(A1<36^2)+MOD(MOD(MOD(INT(A1/36^2),36^2)+80,90)+65,97))&CHAR(-16*(A1<36)+MOD(MOD(MOD(INT(A1/36),36)+80,90)+65,97))&CHAR(MOD(MOD(MOD(A1,36)+80,90)+65,97))
なんだかamp;って入っちゃってるから消して入力して
すばらしい!!!こういうのを待ってました!! あなたが神か!
=IF(ROW()<10,ROW(),IF(ROW()<36,MID(ADDRESS(1,ROW()-9),2,1),ROW()-16)) 先をこされたか
こういう工夫というか知恵というか デキる人って超尊敬するわー 頭の回転いい人うらやましす
Excel2003を使ってます。 VBAに頼らない方法を希望します。 A1に100が入ってる時に A2、B2、C2にA1の値をランダムで分配した数字を入れたいのです。 各セルには0が入っても構いません。
>>871 A2=INT(RAND()*A1)
B2=INT(RAND()*(A1-A2))
C2=+A1-A2-B2
勝手に整数にしたけど、小数が良ければintを外せばok
>>872 試させて頂いたのですが
その方法ですとA1に大きな数が入りやすくなってしまいます。
私が求めてるのは偏りのない完全なランダム分配です。
>>871 A2=RAND()*(A1/3)
B2=RAND()*(A1/3)
C2=A1-A2-B2
確かにA1に大きな数が入る確率は100%だな、少し高い気がする
>>874 すいません。
その方法ですと各セルに33.33…より大きい数が入らなくなってしまいます。。。
>>876 > その方法ですと各セルに33.33…より大きい数が入らなくなってしまいます。。。
なるほど。
なら、ワークセル使って
A3=RAND()
B3=RAND()
C3=RAND()
A2=A1*A3/(A3+B3+C3)
B2=A1*B3/(A3+B3+C3)
C2=A1*C3/(A3+B3+C3)
とか。
ただ極まれに A3+B3+C3 = 0 になってエラーになるかも。
>>877 c3=1-a3-b3
にすりゃ良いじゃん
879 :
871 :2013/10/26(土) 20:22:15.70
>>877 ありがとうございます。
思い描いてたものが出来ました。
エラーは3つ全てが0になる確率なので限りなくゼロに近いですので
気にしません。
880 :
871 :2013/10/26(土) 20:35:26.81
>>878 それやったら、C3に小さい数が入りやすくなるw
俺が作るとしても
>>872 のとおりだけど、どうしてこれだとおかしな結果になるんだ?
>>881 A2には0〜100(期待値50.5)までが入って
B2には0〜100の数が入るが、期待値で言えば0〜50.5が入るのと等しい。
C2は言うまでもなく100からA2とB2を引くんだから一番小さい数が入りやすくなる。
つまり、期待値はA2>B2>C2の順になる。
ごめん。間違った。 期待値は50だったw
>>883 A2は期待値49.5(0〜99の平均)
B2は期待値24.75?
C2はその余りだから期待値25.75
10万行で何度か試したから多分あってるとおもう・・・!
ゼロ除算が嫌なら
>>877 のA3~C3をそれぞれ
=RAND()+1
みたいに下駄履かせりゃ良いんじゃないの?
>>885 A2の期待値は0から100を全て足したものを101で割ったものだから【50】
B2は0から50を足したものを51で割ったものだから【25】
C2は100-50-25=【25】
計算上はこれで間違いない筈なんだが…
エクセルでシミュレーションさせると何故か
>>885 とだいたい同じ値になるなw
これはExcelの乱数がおかしいって事かな?
これが噂に聞く 「Excelの乱数は当てにならん」とか 「Excelは少数の計算が苦手」って奴なのかえ
>>886 例えば、ゲタを1でなく100履かせた場合を考えてみるといい
INT(RAND()*A1) の結果は 0 から A1-1 な
>>890 ああ、そういうことかw
凄い勘違いしてたw
A1:100 A2:=RAND() として右にコピー A3:=$A$1*A2/SUM(2:2) として右にコピー なん分割でも対応できる
それを少数じゃなく整数にしたい場合は?
>>893 A3:=INT($A$1*A2/SUM(2:2))
じゃダメなの?
>>894 それでは合計が100にならない確率がかなり高いよね
100を整数で3分配する方法 a1=COUNTIF(A2:A201,1) b1=COUNTIF(B2:B201,1) c2=COUNTIF(C2:C201,1) a2=IF(RANK(A3,$A3:$C3)=1,1,0) b2=IF(RANK(B3,$A3:$C3)=1,1,0) c2=IF(RANK(C3,$A3:$C3)=1,1,0) a3、b3、c3=RAND() でa2:c3を選択して 201までフィル 俺の頭じゃこれしか思い浮かばない 頭のいい奴もっとスマートな方法考えてくれ
こんな感じか A2:=$A$1-LARGE($A3:$x3,1) B2:=LARGE($A3:$x3,COLUMN()-1)-LARGE($A3:$x3,COLUMN()) x2:=LARGE($A3:$x3,COLUMN()-1) A3:=INT(RAND()*($A$1+1))
ならばRAND()を必要なだけ並べて円グラフでパーセンテージを表示だ
900 :
名無しさん@そうだ選挙にいこう :2013/10/27(日) 10:41:00.31
>>871 0が入っても構わないというのは
0が絶対に入らなくてもいいのでしょうか?
乱数が0〜1未満なので0〜100未満、あるいは1〜100に
対応させることは可能だけれども0〜100だとどうしても
面積に差がでると思うんだけれど、どうなんでしょ?
901 :
900 :2013/10/27(日) 10:43:11.22
自然数に対応させた場合ね。
r1, r2, r3を1未満の乱数として、 合計がNになるようにするには、1からN+1までにしておいて1を引く r1 / (r1 + r2 + r3) * (N + 1) - 1
間違ってる
r3 = N - r1 - r2 だろ 難しく考えすぎ
いつまでExcelに関係ない話を引っ張ってんだ
RAND()はEXcelに関係あるでろ
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 Excelで予約管理表を作っています。予約データ入力の段階までは作ったのですが 重複管理の方法について悩んでいます 入力データが保持している値を「名前」「場所」「開始時刻」「終了時刻」として 場所が一致している場合時間の重複がないかをチェックしたいのです 判定方法はどのように作れば良いでしょうか 時間の重複で想定されるパターンが多く難しいです スマートに判定する方法がありましたら、よろしくお願いします
>>907 その説明じゃ良く分からないので
本物じゃなくて良いからサンプルデータうpしてくらさい
>>907 重複の仕様は?
チェックのトリガは?
結果の通知方法は?
911 :
907 :2013/10/27(日) 19:18:02.58
>>909 その説明じゃ良く分からないので
簡単でいいからサンプルの使い方書いてくらさい
>>908-910 肝心な部分が抜けてました、VBAでユーザーフォームから入力します
重複の仕様は場所・日付・時間帯が少しでも被ったらアウト
(場所の占有予約と思って下さい)
時間の比較がメインになると思うのですが、複数との比較や
開始と終了を比較する際の大小の判定などが必要になると思うので
うまいやり方が思いつかないのです
チェックのトリガは入力画面のコマンドボタン
通知はMsgBoxによる重複警告、再入力への遷移です
データ自体はこんな感じです
http://i.imgur.com/Cbrkf4a.jpg なお
>>911 は私ではないです。
913 :
名無しさん@そうだ選挙にいこう :2013/10/27(日) 19:31:07.46
サンプルから要件定義を推測して どんなコード書けば良いのか考える参考にする。 別にサンプルじゃなく きちんとした要件定義書を出してくれるならそれでも良いけど、 それが出せるレベルの人なら初めから自分でコードも書けるだろうということ。
2010で、シートに保護をかけたファイルを開くと最大化で開きません。 保護を掛けてないファイルは最大化で開きます。 どこかの設定で共に最大化で開く様になりますか? 若しくは仕様ですか?
excel2003でセル幅を1.6にして、 そのグリッドにフリーフォームで線を引きたいんだけど、 altを押しながらクリックしてもグリッドに乗ってくれない 後調整でもいいので、うまくグリッドに乗せる方法ない?
時間の重複ってどうやればいいんだろうね 特に難しい問題だと思う シリアル値で考えれば範囲で被ってるかどうかだけど、 解決策が見えてこない 主にシフト表だろうから分単位でいいとは思うけど 他のシートに1分ずつ書き出してcountなどするのだろうか
入力した開始時刻もしくは終了時刻が範囲内かどうかじゃダメかな?
凄くベタなやり方だけど、 1分単位なら1日=24時間=1440分だから、 一地点ごとに配列要素数1440個の配列変数を用意して、 予約の入った時刻にフラグを立てるようにすれば良いんじゃないの。 5分単位で良いなら288個の配列で済むし、時間が24時間より短ければもっと少ない配列で済む。 さらに、これをワークシートを方眼状に使って色分け表示すれば視覚的にも把握しやすい。
>>920 の続き
たとえば予約済みの時刻を1、空いている時刻を0とする。
多分、先着順で予約を埋めるんだろうから、
予約受付開始時には配列中の全ての要素がゼロで、
予約が入るごとに開始から終了の時刻に対応する要素をチェックする。
何処かに1が入ってたらそこは既に予約済みだから警告を表示。
全部ゼロなら予約を受け付けて、対応する時刻の配列に1を代入。
これの繰り返しで出来るよね。
他にはゼロの続く部分(=まだ予約可能な時刻)を調べれば
問い合わせに対して空いてる時間を知らせてあげたりも出来る。
>>907 想定されるパターンが多いって、いったい何をやろうとしてんの
2点間の範囲の重複判定なんてそんなに難しくないだろ
絵を書いて整理して考えろよ
(1)重複(部分的に重なる)
***<--->
<---->
(2)包含(全体が重なる)
**<--->
<------->
(3)不一致(まったく重ならない)
たったこんだけ
例えば、開始時刻の遅い方を基準にして、もう一方がどちらかのパターンに属するか調べるようにすれば
判定分もそんなに難しくないぞ
If文をずらっと並べて、Forで回せ
>>918 普通に
If 予約_終了 < 設備_開始 Or 設備_終了 < 予約_開始 Then
' Ok
Else
' NG
End If
じゃダメなの?
※ 各々 開始 < 終了 は事前チェックしてあるとして
>>907 並べ替える手間がいるが、一応これでチェック出来ると思うけど
まず予約日は西暦付きで表示させたほうがいい
I1:開始日時、J1:終了日時
I2:=$C2+F2として下にコピー
J列:I列をコピー
K1:重複
K2:=AND(I2<J1,B2=B1)として下にコピー
開始日時でソート
場所でソート
直前のデータの終了日時より開始日時が早い、かつ同じ場所なら重複
並べ替えたくないなら結構難しいんじゃないかと
Excel初心者ですが
表の中にError値が含まれると統計結果すべてがえらーになりますがエラー表示を無視したり表示されないようにデフォルト設定することはできないのでしょうか?
http://support.microsoft.com/kb/881331/ja MSのサイトに=IF (ISERROR(目的の数式),エラー時の処理,目的の数式)で回避出来ると書いてますが項目が数百ある場合はこれをいちいち書いていくのは現実的ではないとおもうのですが、
何か良い方法がありましたら宜しくお願い致します。
926 :
909 :2013/10/27(日) 23:20:13.45
お前等なに訳ワカメな事言ってんだ 時間が重複してるかどうかなんて、開始時間がそのセルの開始時間より小さくて、 尚且つ終了時間がそのセルの開始時間より大きい物。 或いはそのセルの終了時間より開始時間が小さく尚且つそのセルの終了時間がより終了時間が大きい物を探すだけでしょ? 俺は最初っからカウントイフスでできると言ってるのに見事スルーされてるんだもんな
>>926 >カウントイフス
問題文読んでない、テストだったら0点やり直し
928 :
909 :2013/10/27(日) 23:32:03.63
>>925 そんな事は出来んよ
大体、Excelの環境設定に依存するファイル等作ってはならん
オートフィルって物を覚えればISERRORの入力も面倒じゃなくなるよ
929 :
名無しさん@そうだ選挙にいこう :2013/10/27(日) 23:32:40.24
すみません誰か教えてください。 =SUMIF(C6:C65536,"<>合計",D6:D65536) この関数でセルを挿入しても参照セルの場所は動かないようにしたいのです。 OFFSET関数を使うと思うのですが、自分ではうまく動きません。 どなたか教えてくさい。 よろしくお願いします。
931 :
909 :2013/10/27(日) 23:39:39.84
>>927 Excelのバージョンの事でカウントイフス使えないって事かな?
だったら作業列作ってカウントイフで対応するとか…
932 :
925 :2013/10/27(日) 23:41:47.98
>>928 なるほどありがとうございます。
まあMSのサイトで説明されてない時点であり得ないと言うわけですねぇ
他からインポート下データーですが虫食いのような文字化けや空白でいくら潰してもErrorが消えず悩まされています
933 :
名無しさん@そうだ選挙にいこう :2013/10/27(日) 23:44:33.40
>>930 絶対参照にしても、新たにセルを挿入したものは含まれなくなるんです。
これで意味が伝わるでしょうか
エラーあるのにしれっと集計する表計算の方がヤバいからしかたないんじゃねーの
935 :
925 :2013/10/27(日) 23:47:45.72
>>928 オートフィルで思いつきましたがVBAでErrorセルに0などを強制置換で書き込めばスルーできそうな気がしてきました
そんなデータを集計してなんの意味があるのか
937 :
925 :2013/10/28(月) 00:08:26.53
>>936 やっつけ仕事でして大枠がつかめれば十分な状況です。。w
値コピペしてソートしちゃえばエラーは最後に固まる
939 :
925 :2013/10/28(月) 00:14:38.91
>>936 >>937 大枠でも結果を報告するのと、Errorで何もわかりませんでしたで報告するのとでは天と地の差があります。(笑)
>932 =sum(a1) なら置換でa1をa2に変えたりできる もしくは全体を値にして貼り付け、それでテキトーに置換とか まぁ0.01%のエラーとかどうでもいい場合もあるわな
A1からA5000までに数値が入っていて 中央値から20%乖離するものを除外して平均を出したいんですが、 なるべくワークセルを使わない良い方法を教えて下さい。
>>933 挿入って行挿入、もしくは「下方向にシフト」だよね?
だったら絶対参照で行けるはずなんだが…
もしかして、範囲の途中じゃなくて
6行目(範囲の最初の行)のところで挿入してたりとか
>>941 中央値=MEDIAN
あとはSUMIFとCOUNTIFで平均を出す
944 :
941 :2013/10/28(月) 03:08:34.42
>>943 ありがとう。
でもSUMIFやCOUNTIFには複数の条件を指定できないですよね?
仮にMEDIANでB1に中央値を出してその値から1.2倍以上のものと
0.8倍以下のものを除外したいんです。
すません。
後、バージョンは2003です。
946 :
909 :2013/10/28(月) 04:03:05.83
ありがとうございました。 諦めて作業列を作ります。
作業列を使わない方法もある VBA
>>944 VBAも作業列もsumifsも使わずに書いてみた。
=(SUMIF("範囲","<" & MEDIAN("範囲")*1.2,"範囲")
-SUMIF("範囲","<" & MEDIAN("範囲")*0.8,"範囲"))
/(COUNTIF(範囲","<" & MEDIAN("範囲")*1.2)
-COUNTIF(範囲","<" & MEDIAN("範囲")*0.8))
分母も分子も中央値の120%未満のものから80%未満のものを引くことで求められる。
なるぼ
950 :
948 :2013/10/28(月) 11:42:10.26
間違えた。 求めてるのは120%未満で80%より大きい要素だから 0.8の方は"<" じゃなくて "<=" だね。
951 :
909 :2013/10/28(月) 11:48:31.70
>>948 ありがとうございます。
使わせて頂きます。
952 :
944 :2013/10/28(月) 11:49:58.22
目からウロコが1枚落ちた でも私の目はまだウロコがびっしりだ
地味にtypoが多かったんで完全版 =(SUMIF(A1:A5000,"<"&MEDIAN(A1:A5000)*1.2)-SUMIF(A1:A5000,"<="&MEDIAN(A1:A5000)*.8))/(COUNTIF(A1:A5000,"<"&MEDIAN(A1:A5000)*1.2)-COUNTIF(A1:A5000,"<="&MEDIAN(A1:A5000)*.8))
955 :
948 :2013/10/28(月) 12:24:34.71
>>954 ゴメンよ
ケータイからなんで打ちづらいんよ。
956 :
948 :2013/10/28(月) 12:29:04.93
ああ、この場合、SUMIFは第3引数省略出来たのか。 重ね重ねゴメン。
957 :
907 :2013/10/29(火) 17:59:57.63
ネットが使えない状況になり返答が遅くなってすみません 様々なアイディアありがとうございます 自分では中々出てこない発想があって助かります これらを元に具体的なソースを作り、試行錯誤してみたいと思います ありがとうございました
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 一つのセルに300字程度入力したところ、######…##のように、全て#と表示されてしまいます。 Microsoftのサポートには「表示形式:文字列で255文字以上入れるとそうなる仕様」と書かれていますが、標準等を選んでも変わりません。 また、セルの幅や高さを変えても改善しません。中に入るデータは半角英数字とスペース、改行(alt+Enter)です。 セルを分割する以外、正しく表示させる方法はありませんか?
959 :
名無しさん@そうだ選挙にいこう :2013/10/29(火) 18:52:00.13
「文字列で255文字以上入れるとそうなる仕様」というのは 他の表示形式ならOKということじゃないよ。
960 :
名無しさん@そうだ選挙にいこう :2013/10/29(火) 18:57:18.51
ただし、2013なら1000文字いけるはずだが。
まさか単に列幅が狭いだけじゃあるまいな
Excel2003なんですが とある企業登録サイトの事務局をやっていますが その登録申込書がExcelで作られているんですが 会社PRを書き込む欄を40文字×4行という制限を課したいんですが 入力規則で160文字制限というところまではできたんですが もっと上手い方法は何かないでしょうか? 最も理想的な形はとしては @文字を入力するとリアルタイムで現在の文字数がどこかに表示される A40文字で自動改行される(見た目だけでも可) B手動での改行入力は文字数としてカウントしない といったものですが どのくらいまでできるものでしょうか? なお@ですがWordでの原稿用紙のような 数字として表示されなくても文字数がパッと見でわかるような形ならそれでもOKです というかエクセルのセルにあの原稿用紙フォームを取り込むことはできませんか? 等倍フォントのような等間隔の文字になっていて さらに背景に文字区切りの罫線がきちんと引いてあるような エクセルで1マス1文字にしても まさか入力時に1マスずつTabして書き込むわけにも行かず
excelは2010の間違いでした。 表示形式が文字列かどうかではなくて、そもそも文字列がダメということみたいですね。 ちなみに、列幅は改めて思いっきり先まで伸ばしてもダメでした。 仕様として、諦めるしかなさそうですね。レスくださったお三方、ありがとうございました!
965 :
名無しさん@そうだ選挙にいこう :2013/10/30(水) 13:33:54.14
2010は1000文字いけるよ
966 :
名無しさん@そうだ選挙にいこう :2013/10/30(水) 13:50:32.07
文字数はセルあたり32767文字までOKでしょ。 ただし、画面表示できるのは255文字。 とはいえ超えても、#ではなくちゃんと表示される。 入力セルの右隣のセルが使用されていなければ(Nullなら)、 255文字以上でも表示されるけど。
967 :
966 :2013/10/30(水) 14:03:12.34
>>964 2010で試してみた
折り返しもしてみたら、1つのセルで4000文字も問題なく
表示されたよ。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ひょっとしたらスレ違いな質問かもしれませんが、 1.OpenOffice Calcでシートを作る 2.Calc上で、セル結合をする(例A1〜Z1) 3.結合セルを「条件付き書式」で、条件を満たしたら下線の 罫線を引くようにする 4.xls形式で保存する 5.Excelで開く 6.Excel上で「条件付き書式」の条件を満たす 7.Calc上ではA1〜Z1にしっかりと罫線がでるのに、 Excelでは何故か、 一番左のセル部分(A1)にしか罫線が引かれない …って現象が起きるんですが、これをCalcでシート作成作業をして Excelでも(A1〜Z1)全部に罫線を引させる方法を ご存知の方がいらっしゃいましたら、どうか教えて下さい 現在は、A2〜Z2を「結合せずに」、A2〜Z2全てに「条件付き書式」を 指定して、下線ではなく上線による罫線を引き、なんとかZまで 引かせてるんですが、Excel、Calc共に条件付き書式の処理は重く、 もっさりしてしまって、また、A3〜Z3を結合して1セルとして使う必要の あるシートだと、もうお手上げなので 作成環境では、シートをCalcで作って、大抵はCalcで使うのですが、 とある別の場所、別環境での使用環境はExcelなので、どうしても Calcで作って、Calc、Excel両対応にしたいのです
969 :
968 :2013/10/30(水) 16:46:03.36
タイポしてしまいました ×また、A3〜Z3を結合して1セルとして使う必要のあるシートだと、 ↓ ○また、A2〜Z2を結合して1セルとして使う必要のあるシートだと です
>>968 試しにOpen Officeをインストールして同一現象を確認した。
色々試してみたが
>>968 自身の書いた対処法か、最初からExcelで組むしか手はなさそうだな。
>>968 ZではなくAA1まで指定して条件付き書式にした後、AA1だけをDEL→すべて削除にチェック→OK
>>968 セルの結合をした後、
A1をクリックするんじゃなく、A1:Z1と名前バー(だっけ?数式バーの左)に入れる
その状態で条件付き書式を設定
結局やってることは
>>972 と一緒だけど、まぁどっちでもいいや
974 :
968 :2013/10/30(水) 17:37:56.93
>>970-973 みなさん、ありがとうございました!
上手く行きました
限りなくスレ違いに近い質問までご親切に答えて戴き、
誠に恐縮です
良くわからんリンクなんて踏めねーよ 自分の日記帳でやってろ
>>975 のリンクはスレタイの検索か。それでもいいけどfind2chの方がいいような。
というかそもそもリンクって必要?
vbaスレと雑談スレだけでいいと思う。これなら手間でも無い。
あと前スレもテンプレも無くていい。
よほどよく出る質問がテンプレに書いてあれば、
>>2 とか返答できるけどそもそも>>2-
>>7 ぐらいになにが載ってるか俺も知らない。
以前はググっても解らない問題をここで回答していたけど途中からテンプレ 【検索ワード】が無くなってから基礎的な質問が多くなってうざいから 【検索ワード】復活させてくれよ
>>978 【検索ワード】がうざいからなくなったんだよ
エクセルのセルに、 5 7 5 24 5 42 5 56 6 9 という数値があるのですが、これを時刻に直す事は出来ませんか? 一行目だと 5:07 としたいのです。
スペースで区切られてるなら:に置換
984 :
名無しさん@そうだ選挙にいこう :2013/11/01(金) 10:41:07.20
インターネットバキングで銀行の入金・出金のデータが見れるので これをExcelに入力して管理したいのですが (1) 日付がExcel式に扱えない(シリアル値というの?)ので正したい (2) 金額が文字列となっていて、これを数値にしたい (3) 「 - 」となってるところは空白にしたい ↑これを効率よくするにはどうしたらいいですか? ちなみに下みたいなデータです。 日付 お引出金額 お預入金額 お取引内容 2013.09.30 - 389,444 円? ?振込 キユウヨ 2013.10.04 20,000 円? - ?ATM 2013.10.15 20,000 円? - ?ATM 2013.10.22 20,000 円? - ?ATM 2013.10.23 1,469 円? - ?ガス 2013.10.25 57,000 円? - ヤチン 2013.10.25 420 円? - ?振込手数料 2013.10.28 2,490 円? - ?ケ−ブルTV 2013.10.28 3,151 円? - ?デンキ 2013.10.31 - 388,878 円? ?振込 キユウヨ
割り算とか足し算とかしたらできそーな気がしたけど 今エクセル触れる環境じゃないから 5:07にするためにはどういう数値にするかがわかんないわ 24時間が1なんだっけ?
>>983 A列が時、B列が分として、C1 に =TIME(A1, B1, 0)
>>984 元データはタブ区切りですか?
"?"の部分はなにか特殊文字ですか?
988 :
984 :2013/11/01(金) 14:14:05.54
>>987 元データはInternetExplorerだからブラウザのコピペ。
"?"は何もなかったものがそう変換されたからたぶん特殊文字かな。
どうすればいいでしょうか?
どこの銀行か不明だが、たいていはCSVで出力するできるようになってる
990 :
983 :2013/11/01(金) 16:35:02.27
=A1&":"&B1 でも時刻になる このままだと文字列だけど、何か計算する時は自動的にシリアル値に変換される
うめ
うめるか
997
998
999
sen
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。