Frage zu Excel Formatierung. Ich gebe 112233445566 ein und in der gleichen Zelle soll über Benutzerdefinierte Ausgabe 11-22-33-44-55-66 raus kommen. Wie?
Ist die Anzahl der Ziffern immer gleich lang?


Dann kannst du als benutzerdefiniertes Format  verwenden.
OK, geht.  

  

Formular aufrufen, dann speichern, dann kann dieser gespeicherte Eintrag in der absolut korrekten Formatierung gemailt werden. DANKE Zollsoft <p>ich denke, dies wirft weitere fragen und potenzielle probleme auf:</p><ol> <li>ist es wirklich notwendig, zwei getrennte arten von feldern für diese arten von zahlen zu haben? die tatsache, dass sie probleme haben, sie richtig zu kennzeichnen, bedeutet, dass dies wahrscheinlich zu einer schlechten benutzererfahrung führt.</li> <li>was ist, wenn der benutzer der meinung ist, dass die antwort eine dezimalstelle enthält, aber nur eine ganze zahl eingeben darf? sollten sie auf- oder abrunden?</li> <li>gibt es eine möglichkeit, sie nur mit einem nummernfeld zu versehen und den rest programmgesteuert zu erledigen? vielleicht dezimalstellen runden oder entfernen?</li> </ol><p>wenn sie sie nicht zu einem feldtyp kombinieren können, können sie sie auf jedem etikett explizit angeben:</p><ul> <li>geben sie eine zahl ein (dezimalstellen erlaubt)</li> <li>geben sie eine zahl ein (keine dezimalstellen)</li> </ul> Hallo! 
  
Die Lösung findest du in <http://office.microsoft.com/de-de/excel-help/anzeigen-oder-ausblenden-von-spalten-und-zeilen-HP010342574.aspx.>
  
L.G <p>sie müssten einen <code>user-defined function</code> erstellen, wenn sie eine syntax haben möchten, die ihrem beispiel ähnlich ist, aber könnten sie das tun, was sie tun möchten, inline relativ leicht mit einer <code>case</code>-anweisung, wie die anderen gesagt haben.</p><p>die <code>udf</code> könnte ungefähr so ​​aussehen:</p><pre><code>create function dbo.inlinemax(@val1 int, @val2 int) returns int as begin if @val1 &gt; @val2 return @val1 return isnull(@val2,@val1) end </code></pre><p>... und du würdest es gerne so nennen ...</p><pre><code>select o.orderid, dbo.inlinemax(o.negotiatedprice, o.suggestedprice) from order o </code></pre> <p>damit text über den rand einer zelle hinaus überläuft, müssen die folgenden bedingungen erfüllt sein:</p><ul> <li>in der zelle ist &quot;wrap text&quot; nicht aktiviert</li> <li>die zelle ist keine zusammengeführte zelle</li> <li>die zelle enthält einen wert, der die breite der zelle überschreitet</li> <li>die angrenzende zelle ist leer * und keine zusammengeführte zelle</li> <li> <p>die zelle weist eine der folgenden horizontalen ausrichtungen auf:</p> <ul> <li>allgemeines</li> <li>links (einzug)</li> <li>center</li> <li>richtig (einzug)</li> <li>auswahl zentrieren<br> (rechts überlappt die zelle nach links; mitte überlappt auf beiden seiten.)</li> </ul> </li> <li> <p>der zelleninhalt wird nicht gedreht (d. h.<em> ausrichtung </em>ist auf 0 ° eingestellt) <sub>(nur excel 2010?)</sub></p> </li> <li>die zelle enthält einen textwert. zahlen- und datumswerte werden in <code></code> oder in wissenschaftliche notation konvertiert, anstatt benachbarte leere zellen zu überlappen.</li> <li>im arbeitsblatt ist &quot;formeln anzeigen&quot; nicht aktiviert</li> </ul><p>ich glaube, das sind alle notwendigen voraussetzungen. wenn ich etwas verpasst habe, können sie diese antwort gerne bearbeiten.</p><p><sub>*<em> unter bestimmten umständen kann eine benachbarte zelle leer sein </em>scheinen<em> aber nicht leer sein. in diesem fall fließt der text nicht in diese zelle über, da er nicht wirklich leer ist. </em></sub></p> <p>dies kann eine paginierung sein oder auch nicht, aber hier ist, wie ich paginierung in meiner web-app mache:</p><pre><code>|&lt; first, &lt;&lt; previous, page [5] of 12, next &gt;&gt;, last &gt;| </code></pre><p>die äußeren vier optionen sind links, während die <code>page [5] of 12</code> ist ein formular mit dem [5] als eingabefeld. für benutzer mit aktiviertem javascript verstecke ich die schaltfläche "senden" und sende das formular beim ereignis "unfokus" oder drücke den tastendruck. der benutzer hat die option, wie viele zeilen er anzeigen möchte, die er aus einem dropdown-menü auswählen kann: 10, 20, 50, 100, alle. zusätzlich zur paginierung biete ich auch das sortieren und filtern der ergebnisse an, obwohl dies möglicherweise nicht in jeder situation sinnvoll ist.</p><p><strong>bearbeiten</strong>:</p><p>hier ist ein ausschnitt aus einem modell unserer web-app, um ihnen eine bessere vorstellung zu geben. in dieser version wurden die wörter in den schaltflächen weggelassen, werden jedoch nach einer leichten verzögerung als tooltip beim hover angezeigt. möglicherweise stellen sie jedoch fest, dass das beibehalten der wörter zu einer höheren benutzerfreundlichkeit führt.</p><p><img src="https://i.stack.imgur.com/vzbu0.png" alt="virtuosi media&#39;s pagination example"></p><p>ein paar andere dinge, auf die sie hinweisen sollten:</p><ul> <li>die schaltflächen "erste" und "vorherige" wurden deaktiviert, da es sich um die erste seite handelt.</li> <li>das blau zeigt aktive schaltflächen an (ich muss dieses spezielle thema durch eine farbprüfung ausführen, um sicherzustellen, dass farbenblinde benutzer einen unterschied feststellen können).</li> <li>die tasten bleiben immer erhalten, auch wenn sie deaktiviert sind. dies gibt der schnittstelle konsistenz.</li> <li>aufgrund der skalierung habe ich ein eingabefeld anstelle eines dropdown-auswahlfelds ausgewählt. wenn sie 3000 seiten haben, möchten sie nicht nach unten scrollen, um eine seite zu finden</li> <li>die paginierung ist in einer singulären visuellen komponente gruppiert, um ähnlichkeit im zweck anzuzeigen.</li> </ul> Es ist ja wohl nicht damit getan, die falschen Angaben zu entfernen, die sollen doch bestimmt berichtigt / erneuert werden. Dann lass das mal besser die Firma machen, die das erneuert. Oder hast Du "Auftrag" vom Chef? <p>die tastaturkombination, nach der sie suchen (<kbd>ctrl</kbd>+<kbd>k</kbd>, <kbd>ctrl</kbd>+<kbd>d</kbd>) dient der "formatierung" - aber nicht in dem maße, wie sie es zu erwarten scheinen. es ist kein prettifier, sondern dient nur zum einfügen korrekter abstände und tabulatoren wie in <code>tools &gt; options &gt; text editor &gt; transact-sql &gt; general/tabs</code>. wenn sie also einen teil des texts markieren und die tastaturkombination drücken, werden tabulatoren in 4 leerzeichen konvertiert ( wenn sie leerzeichen einfügen ausgewählt haben, wenden sie die von ihnen angegebene art des einrückens usw. an.</p><p>diese option soll den code nicht lesbarer machen. dies ist keine funktionalität, die management studio derzeit nativ bietet. es gibt zwar mehrere optionen von drittanbietern - einige befinden sich außerhalb von management studio, z.</p><ul> <li> <a href="http://extras.sqlservercentral.com/prettifier/prettifier.aspx">sql prettifier von simple-talk</a> </li> <li> <a href="http://poorsql.com/">schlechtes sql</a> (welches <a href="https://dba.stackexchange.com/a/45052/1186">thomas schlug vor</a> )</li> </ul><p>außerdem gibt es add-ins für verschiedene ebenen der formatierungsunterstützung im editor:</p><ul> <li> <a href="http://www.red-gate.com/products/sql-development/sql-prompt/features">sql-eingabeaufforderung von red-gate</a> </li> <li> <a href="http://ssmstoolspack.com/features?f=4">ssms tools pack</a> </li> <li> <a href="http://www.apexsql.com/sql\_tools\_refactor.aspx">apexsqls refactor</a> </li> <li> <a href="http://www.ssmsboost.com/features/ssms-add-in-format-sql-document">ssmsboost</a> </li> <li> <a href="http://www.devart.com/dbforge/sql/sqlcomplete/">dbforge sql complete</a> (welches <a href="https://dba.stackexchange.com/a/45063/1186">robert schlug vor</a> )</li> </ul><p>nun, der grund, warum sie die nachricht erhalten ...</p><blockquote> <p>die tastenkombination (strg + k, strg + d) ist an den befehl (format format) gebunden, der derzeit nicht verfügbar ist.</p> </blockquote><p>... liegt daran, dass ssms diese tastenkombination einem anderen kontext zugeordnet hat. die art und weise, wie sie <em> sollten</em> in der lage sein, dies zu "beheben" - auch hier würde es immer noch nicht das tun, was sie möchten, selbst wenn das "beheben" funktioniert - ist wie folgt:</p><ol> <li>gehe zu <code>tools &gt; options &gt; environment &gt; keyboard</code></li> <li>platzieren sie ihren cursor in das feld <code>press shortcut keys:</code></li> <li>schlagen <kbd>ctrl</kbd>+<kbd>k</kbd>, <kbd>ctrl</kbd>+<kbd>d</kbd></li> <li> <p>ändern sie das dropdown-menü <code>shortcut currently used by:</code> von <code>datawarehouse designer</code> in <code>text editor</code>.</p> <p><img src="https://i.stack.imgur.com/1g5oe.png" alt="enter image description here"></p> </li> <li> <p>drücke ok</p> </li> </ol><p>dies ist <em> angenommen</em>, um die tastaturkombination dem texteditor zuzuordnen, aber management studio setzt sie zurück, nachdem sie auf ok geklickt haben (sie erhalten weiterhin die fehlermeldung. ich denke, das problem ist das die dokumentation geht davon aus, dass diese funktionalität vorhanden ist, aber management studio weiß es besser und bietet sie einfach nicht an (und microsoft wird dies wahrscheinlich als fehler in der dokumentation abschreiben und korrigieren, anstatt als mangel im tool) hoffe in der zukunft, aber vorerst <a href="http://connect.microsoft.com/sql/feedback/viewfeedback.aspx?feedbackid=496617">dies ist ein bekanntes und weitgehend ignoriertes problem</a> . sie werden feststellen, dass die registerkarte <code>formatting</code> diese <a href="http://msdn.microsoft.com/en-us/library/ms174205(sql.110).aspx">die dokumentation bezieht sich auf</a> ist einfach nicht vorhanden (obwohl es für xml vorhanden ist, wo die tastaturkombination funktioniert). in der dokumentation sollte wahrscheinlich folgendes angegeben werden:</p><blockquote> <p>wendet die einrückungs- und leerzeichenformatierung für die sprache an, die im bereich <strong> formatierung </strong> der sprache im texteditor <strong> angegeben ist </strong> abschnitt des dialogfelds <strong> optionen </strong>. nur im texteditor verfügbar <strong> <em> und nur für bestimmte sprachen</em> </strong>.</p> </blockquote><p>eine andere möglichkeit, sich ein bild davon zu machen, welche art von formatierungsoptionen ssms nativ bietet, besteht darin, unter <code>tools &gt; customize &gt; commands &gt; edit &gt; add command... &gt; format</code> die liste der möglichen befehle dort anzuzeigen. nichts, was darauf hinweist, dass kenntnisse der tatsächlichen sprache vorhanden sind, sodass nicht bekannt ist, wo zeilenumbrüche eingefügt oder zusätzliche einrückungen hinzugefügt oder klammern usw. verwendet werden sollen.</p><p><img src="https://i.stack.imgur.com/zhrer.png" alt="enter image description here"></p><p>wenn sie eine sprachspezifische formatierung wünschen, um den vorhandenen t-sql-code besser lesbar zu machen, erhalten sie von ssms nicht viel, und sie müssen nach anderen optionen suchen.</p> <p>wenn dies meine entwurfsentscheidung wäre, würde ich wahrscheinlich eher eine option c (modifizierte option a) wählen.</p><h3>erstens, warum nicht 'option b':</h3><p>zum einen gefällt mir die klarheit, dass jedes produkt seinen eigenen tisch hat. wenn es sich nur um eine große tabelle mit einem feld zur bestimmung des typs handelt, ist die beziehung nicht so klar.</p><p>zum anderen würde die indizierungsstrategie immer erfordern, dass dieses typfeld aufgelistet wird. da es sich nur um 4 typen handelt, ist die indexkardinalität extrem niedrig (<code>select * from product\_table where type='x'</code> führt im grunde sowieso einen vollständigen tabellenscan durch)</p><h3>option c.</h3><ul> <li>erstellen sie eine übergeordnete tabelle, die nur die spalten enthält, die alle typen gemeinsam nutzen</li> <li>erstellen sie jeden produkttyp als eigene tabelle mit ihren einzelnen spalten, mit einem zusätzlichen: ein link zur übergeordneten tabelle</li> <li>erstellen sie jede 'link'-tabelle: product\_option, model\_option usw. mit links zu den jeweiligen schlüsseln.</li> <li>für diejenigen mit wechselseitigen links (model\_option, option\_model) erstellen sie auch diese tabellen. dies erhöht die klarheit ihrer joins für alle, die sich das ansehen.</li> </ul><p>der nachteil ist die komplexität, sicherzustellen, dass waisen vermieden werden, wenn dinge aktualisiert/gelöscht werden, und zunächst die abfragen zu entwerfen, die diese tabellen verwenden.</p> <p>wenn sie es im standardmodus ausführen, befindet es sich im menü: optionen&gt; einblenden/ausblenden&gt; zeilennummern. dann optionen&gt; optionen speichern, um es für zukünftige sitzungen zu speichern.</p><p>wenn sie es in einem terminal ausführen (<code>emacs -nw</code>), ist es <code>m-x line-number-mode</code>. <code>m-</code> ist normalerweise die windows-taste, kann aber sein <kbd>alt</kbd>, oder sie können drücken <kbd>esc</kbd> gefolgt von <kbd>x</kbd>.</p><p>(bearbeiten: das obige wirkt sich nur auf die moduszeile aus. für zeilennummern am rand möchten sie <code>m-x linum-mode</code> oder wahrscheinlicher <code>(setq global-linum-mode t)</code> in ihrem <code>~/.emacs</code>.)</p>